Tiny Scheme Specification

181 views
Skip to first unread message

Joshua Cogliati

unread,
Jan 28, 2022, 6:06:15 PM1/28/22
to
For fun, I created a tiny subset of the Scheme R7RS Small specification.

The draft version is at:
https://github.com/jrincayc/r7rs-tiny-spec

(PDFs are available in the releases section)

The tiny subset removes non-functional features, continuations, non-integers, and other features that complicate the semantics or implementation.

It leaves a small subset where the grammar can be described in about a page, and the semantics can be described in another page. The whole thing is 17 pages.

The draft is a superset of the Scheme subset used in the book "The Little Schemer".

Because of the simplifications, the type of an expression is:

Environment -> Expressed Value

Instead of:

Environment -> Dynamic Points -> Expression Continuations -> Command Continuations

which results in a much simpler semantics.

(I also created an implementation of scheme that more or less follows the specification, but that is another story.)

Joshua Cogliati

unread,
Jan 30, 2022, 5:27:24 PM1/30/22
to
On Friday, January 28, 2022 at 4:06:15 PM UTC-7, Joshua Cogliati wrote:
> For fun, I created a tiny subset of the Scheme R7RS Small specification.
>
> The draft version is at:
> https://github.com/jrincayc/r7rs-tiny-spec
>
Because there already is a tiny scheme implementation, I renamed it to Pico Scheme and the new URL is:
https://github.com/jrincayc/r7rs-pico-spec

Alex Shinn

unread,
Mar 30, 2022, 2:33:13 AM3/30/22
to
This is quite nice, thanks for sharing!

--
Alex

Joshua Cogliati

unread,
Apr 5, 2022, 7:41:06 PM4/5/22
to
You are very welcome. :)

Joshua Cogliati

unread,
Nov 3, 2022, 8:12:33 AM11/3/22
to
I put up a new draft (0.7): https://github.com/jrincayc/r7rs-pico-spec/releases/tag/version_0.7

If there are no major issues with it (add any issues/change requests etc at https://github.com/jrincayc/r7rs-pico-spec/issues ), I plan on putting up the release candidate on November 18th, and then on to the final release two weeks later.

Joshua Cogliati

Alfonso Urroz

unread,
May 15, 2023, 5:04:19 PMMay 15
to
Hello there, I have not visited "comp.lang.scheme" in a very long time, but I just read about this "tiny scheme", but I remember back in 2000 and in 2005, there were a couple of releases of "tiny scheme" from a couple of guys under the guidance of Marc Feley from the Universite du Montreal (University of Montreal), they were called, if my memory doesn't fail me, BIT and the other one was called PICOBIT, they were created by Danny Dube and Vincent St-Amour, I think the published papers are available inside Marc Feeley website, I think they are worth reading them, and perhaps using them.

Regards.

Alfonso

Joshua Cogliati

unread,
May 17, 2023, 10:19:51 PMMay 17
to
Thanks, That is interesting. I will add PICOBIT to the README in the next update.

https://github.com/jrincayc/r7rs-pico-spec/pull/41
Reply all
Reply to author
Forward
0 new messages