Re: A quick guide to Scheme implementations
Amirouche Boubekki 04 Feb 2020 07:53 UTC
Welcome erkin!
Le lun. 3 févr. 2020 à 23:41, erkin <xxxxxx@erkin.party> a écrit :
>
> Hello everyone (again),
>
> Last year, I was working on an article called 'An Opinionated Guide to Scheme
> Implementations' in order to address the newbie question of 'What implementation
> should I start with?' Amirouche asked me to share the draft here, but I
> completely forgot about the whole thing.
>
> Today he helpfully reminded me again and I feel obliged to share the half-baked
> draft. It's fairly short and in plaintext but I decided not to clutter your
> mailboxes so I'm uploading it to a pastebin service.
>
> https://clbin.com/ztikI
>
> Again, I welcome any feedback. Since I'm not well-versed with the majority of
> Scheme implementations, I'd like to turn this into a collaborative effort and
> draw input from people who actually know how they work. I can share the org file
> if needed.
>
I am always happy to see more Scheme. I like the idea of comparing
Scheme implementations. Toward that goal I tasked myself to create a
comparator in the spirit of ES6 compatibility table [0] with the
usability of caniuse [1]. I started a prototype using chibi-scheme
compiled to wasm. I lost momentum because a) working alone is
difficult b) it will not pay the bills c) I do not want to emscripten,
I will prefer to directly target JavaScript or WASM.
[0] https://kangax.github.io/compat-table/es6/
[1] https://caniuse.com/#search=websocket
As of today, there is not R7RS that targets JavaScript or WASM:
- schism: is R6RS and last time I checked it did not allow interop
with JavaScript and did not support call/cc.
- Gambit targets JavaScript but it is still a work-in-progress. For
instance this bug [2].
[2] https://github.com/gambit/gambit/issues/458#issuecomment-569419700
To summarize, a quick guide to Scheme implementations is fine, with
the help of a comparator will be best...
If you are interested, I can bring back online the comparator that I
started with chibi-scheme. Spoiler: it relies on SRFI-168.