• Pico Scheme Specification Release Candidate 1

    From Joshua Cogliati@21:1/5 to All on Fri Nov 18 12:35:30 2022
    For fun, I created a tiny unofficial subset of the Scheme R7RS Small specification called Pico Scheme (previously announced as Tiny Scheme, but that name was already in use.)

    The first Release Candidate is up at https://github.com/jrincayc/r7rs-pico-spec/releases/tag/version_1.0rc1

    See also the README at: https://github.com/jrincayc/r7rs-pico-spec

    If you find issues with it, please either leave an issue on github or reply to this thread.

    Unless significant changes are needed (and I need a second release candidate), I plan on releasing the final version on Friday December 2nd.

    The pico subset removes non-functional features, continuations, non-integers, and other features that complicate the semantics or implementation. It also removes features that can easily be implemented by a define.

    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 18 pages.

    The draft is a mostly a superset of the Scheme subset used in the book "The Little Schemer". (definition of zero?, add1, sub1, atom?, eq? are needed to be a proper subset)

    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Cogliati@21:1/5 to Joshua Cogliati on Thu Dec 8 18:53:25 2022
    On Friday, November 18, 2022 at 1:35:32 PM UTC-7, Joshua Cogliati wrote:
    For fun, I created a tiny unofficial subset of the Scheme R7RS Small specification called Pico Scheme (previously announced as Tiny Scheme, but that name was already in use.)

    The first Release Candidate is up at https://github.com/jrincayc/r7rs-pico-spec/releases/tag/version_1.0rc1

    See also the README at: https://github.com/jrincayc/r7rs-pico-spec

    If you find issues with it, please either leave an issue on github or reply to this thread.

    Unless significant changes are needed (and I need a second release candidate), I plan on releasing the final version on Friday December 2nd.

    The pico subset removes non-functional features, continuations, non-integers, and other features that complicate the semantics or implementation. It also removes features that can easily be implemented by a define.

    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 18 pages.

    The draft is a mostly a superset of the Scheme subset used in the book "The Little Schemer". (definition of zero?, add1, sub1, atom?, eq? are needed to be a proper subset)

    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.

    Having fixed the problems found, I have released the 1.0.0 version: https://github.com/jrincayc/r7rs-pico-spec/releases/tag/version_1.0.0

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)