This project started as more of a Scheme than a Lisp(-2) and remains largely so, but:
My main motivation for this project is that I need a basis for an Elisp-compatible interpreter (currently implemented as a layer over Petit Lisp in org_flutter). It's not clear exactly how compatible with Elisp I need it to be (there are obvious limitations inherent to anything short of reimplementing all of Emacs).
To the degree that I can achieve my Elisp goals while keeping this project a Scheme, I would like to do so. In that case a stretch goal would be to support a Scheme standard like R5RS.
If it turns out that a Scheme basis is not sufficiently compatible for my needs, then I may fork this project and make it a Lisp-2.
In particular, Lisp has various punning behavior around nil and '() that Scheme does not have, and if that is forbidden by the Scheme spec then I should really commit to building a Lisp instead.
This project started as more of a Scheme than a Lisp(-2) and remains largely so, but:
My main motivation for this project is that I need a basis for an Elisp-compatible interpreter (currently implemented as a layer over Petit Lisp in org_flutter). It's not clear exactly how compatible with Elisp I need it to be (there are obvious limitations inherent to anything short of reimplementing all of Emacs).
To the degree that I can achieve my Elisp goals while keeping this project a Scheme, I would like to do so. In that case a stretch goal would be to support a Scheme standard like R5RS.
If it turns out that a Scheme basis is not sufficiently compatible for my needs, then I may fork this project and make it a Lisp-2.
In particular, Lisp has various punning behavior around
nil
and'()
that Scheme does not have, and if that is forbidden by the Scheme spec then I should really commit to building a Lisp instead.