ox-lang / ox

Ox - An immutable statically typed Lisp for the JVM
https://ox-lang.org
66 stars 3 forks source link

Design decision: Vars? #11

Closed arrdem closed 9 years ago

arrdem commented 9 years ago

Right now var quoting is supported by the grammar but unimplemented in the parser. Pixie and ClojureScript have both implemented vars to some degree, and there is a case to be made that vars are a compile time structure for adding metadata to a symbolic name. Not sure how far I'm willing to let this go, but adding metadata to a named value is definitely useful.

mikera commented 9 years ago

FWIW I have come to the conclusion that vars are an implementation detail that provide two things:

Both of these seem relatively orthogonal: I'm thinking that the first is entirely superseded by immutable environments, and the second can be done by allowing metadata to be attached to symbols in immutable environments.