Update of "Ideas"
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 473419eb051119d1363bcf4c344e6cb4624de2aa
Page Name:Ideas
Date: 2014-12-15 23:28:47
Original User: nem
Mimetype:text/x-markdown
Content

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

I quite like the idea of using # to distinguish different implementation choices: - [x, y, z] is something like a linked-list or maybe a rope: worst-case linear access time, but constant-time appends. - #[x, y, z] vector/array - {x, y, z} - balanced tree - #{x, y, z} - hashed Possibly, this is all overkill and the built-in Tcl structures with CoW and ref-counting are good enough in most cases.