Tiny Scheme Specification

106 views
Skip to first unread message

Joshua Cogliati

unread,
Jan 28, 2022, 6:06:15 PMJan 28
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 PMJan 30
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 AMMar 30
to
This is quite nice, thanks for sharing!

--
Alex

Joshua Cogliati

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

Joshua Cogliati

unread,
Nov 3, 2022, 8:12:33 AMNov 3
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
Reply all
Reply to author
Forward
0 new messages