Not logged in

This page collects some thoughts on future directions.

Firstly, the language should make it simple to represent:

I believe that it should be possible to use expressions/functions for most things and therefore restrict commands to being at the top-level only. This allows co-opting [...] syntax for other means.

Down to brass tacks. Like Tcl, SiCL is a command language. A program is a sequence of commands, separated by newlines or semicolons. A command is a sequence of words. A word is an expression, of one of the following forms:

The set form also provides an alternative syntax to constructing dictionaries: {x: 1, y: "foo"}. Possibly this syntax constructs a form based on balanced tree of some kind (red-black tree)?

This syntax also (I think) ensures that SiCL is a super-set of JSON, which is quite a handy property.

I quite like the idea of using # to distinguish different implementation choices: