Jack is a new language designed by Tim Caswell with the explicit goal of being easy to explain the semantics while still being powerful.
Jack is a scripting language aimed at kids learning to program as well as professionals who yearn for a simpler language (like me).
- Immutable unicode strings
- Mutable Binary buffers (fixed length)
- Booleans
- Null
- Integers
- Floating Point Numbers
- First class and higher-order functions.
- Lexical closure.
- Basic key/value maps for objects (no inheritance or prototype chain)
- Dense Arrays
- Everything is an expression where possible.
- Implicit return values
- Unified looping syntax that works on objects, arrays, and generator functions
- Object metamethods for advanced usage (get, set, keys, length, call)
- Allows objects to act like functions, arrays, etc.
My guiding principle while adding language features and semantics is:
Keep it Simple, Keep it Safe
See the examples folder for syntax examples.