Skip to content

creationix/jack

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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