Skip to content
sid-code edited this page Mar 15, 2015 · 17 revisions

The scripting language is exceedingly simple. It's like a dumbed-down lisp, because it lacks many of the extra syntactic constructs such as quoting

An atom is defined as the following:

  • 123, 1e9, 1.456 etc. (numbers)
  • "some characters" (" and \ are the only currently valid escapes)
  • 'symbol-name (apostrophe is optional!)
  • #345 (the number is an object ID)
  • E_ERRORNAME (not implemented yet)
  • nil

A list is defined as the following:

  • ( atom atom ... atom )

Together, the kinds of atoms and list make up the eight fundamental data types: int, float, string, symbol, object, error, list, nil

Because lists are a data type and lists are also code, code is data.

Scripts can call builtins: (builtin-name arg1 arg2 ...) (there's a list of builtins somewhere around here)

Clone this wiki locally