There's no "external representation" for environments. In klisp it will just print:
[#environment]
The environment type is encapsulated, so it doesn't give you very useful debug information.
Perhaps having `@` produce an environment is the wrong approach and we should just produce an association list instead - then move `$bindings->environment` into the `?` operative to enable querying.
As a common lisp developer, that is only very vaguely true for me.
The mapping I prefer for json<->Lisp is:
This falls out of my desire for the mapping to be bijective:- The only built-in type that is unambiguously a mapping type is hash-tabe.
- nil is the only value that is falsy in CL
- () is the same as nil, so we can't use it as an empty list; vectors are the obvious alternative
- Not really any obvious values left to use for "null" so punt to a keyword.