- basic data types are boolean, string, integer, real, list, record and object
- different types can coexist in a list, including nested lists
- records are lists of key-value pairs
- standard control flow with if/else constructions and repeat (for, while, in) loops
- variables are instantiated when used, and are not strictly typed
- script objects can encapsulate methods and data
- script objects can inherit behavior from a parent script
- “tell” construct used to identify target of message
- applications can define terminology at runtime
- runtime compilation possible using “run script” construct
- persistence and modularity possible using “store script” and “load script”