“A scripting language for programming the Ivory System.”

Designed to support both a dynamic style of programming and data persistence, IvoryScript has native features for efficient operation and interaction with multiple environments (data stores). Some of these are:

First class names and types For efficient handling of dyanamically typed values and property names
Lazy evaluation With separate data types for unevaluated data
Data constructor definition and pattern matching Provides unrestricted data representation and deconstructor functions for advanced pattern matching
Pragmatic impure update Although essentially a functional language, update is supported for reference values
No implicit evaluation Permits full control over when evaluation is performed. In practice, coercion of expressions terms results in script transformation for reduction and evaluation to match the context