Skip to content

creationix/jack

Repository files navigation

Jack

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).

Language Features

  • 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.

About

Another new language. The name will probably change.

Resources

Stars

Watchers

Forks

Packages

No packages published