amake / petit_lisp

A simple Lisp implementation for Dart
https://pub.dev/packages/petit_lisp
MIT License
4 stars 0 forks source link

Support a standard? #1

Open amake opened 9 months ago

amake commented 9 months ago

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.

amake commented 9 months ago

Discussion about a different Scheme and R5RS unit tests: https://news.ycombinator.com/item?id=38510908