

MISC: A homoiconic language based on maps - emmett
http://will.thimbleby.net/misc/

======
emmett
A huge number of interesting ideas. High points for me:

An elegant system for metadata which can be used to implement documentation,
pretty printing, types, debugging, logging, and other such meta things.

Keyword arguments are baked in for free.

Direct read/write access to the environment as a map.

~~~
tokipin
> Direct read/write access to the environment as a map.

this is one of the things i like about Lua (which is listed there as a source
of ideas)

i definitely don't like the choice of square brackets though, it's very ugly
and hard to read. they should have stuck with parens

~~~
tac-tics
I do like the square brackets. They don't require holding down shift. And when
you're writing the next killer app, and in the process, end up setting the
world record for the longest string of subsequent ')' characters... that saves
you a ton of stress on your pinky finger ;-)

~~~
mhb
Not if you re-map '(' and ')' to the '[' and ']' keys which, I think, is
commonly done.

------
cousin_it
I don't like the required quoting/unquoting in let and lambda. Otherwise
really good.

~~~
emmett
I agree. It would be easy enough to write autoquoting versions as macros, but
since the names are taken your new let/lambda would have to be named something
else.

------
serhei
Very nice, although they could have reversed the roles of square and ordinary
brackets. Especially since square brackets mean "list of stuff" in most
scripting languages.

~~~
etal
But think how much shift-key this saves. For a language that's fully
bracketed/parenthesized, would be nice to be able to hit both bracket keys
without holding Shift or tweaking the keybindings.

------
newt0311
I was especially amazed by the syntax for quoting and forced evaluation. Very
nice and seems better for some cases than the lisp backquote.

