# ANNOUNCE: Joy in Scheme version 0.2

## John Cowan — 2003-05-13 20:23:44

    I am happy to announce that I have a working Joy interpreter implemented in Scheme.

    Version 0.2 can be downloaded from http://www.ccil.org/~cowan/joy.ss .

    The entire program is written in portable R5RS Scheme with the exception of the routines

    joy-get, joy-set!, and joy-error, which should be trivial to port to any practical Scheme.

    For convenience, they appear at the top of the file.

    To run the program, load it into Scheme.  To run Joy code, type (joy ...) where "..." is the

    Joy code.  Currently, undeferror is set to 1 and autoput is set to 2; this can be changed.

    The Joy stack is stored in the Scheme variable joy-stack.  To define a Joy program,

    type (joy-define name ...) where "..." is the Joy code.

    There are a few syntax differences.  Characters are represented as #\f rather than 'f.

    Newline and space are #\Newline and #\Space.  Lists and quotations use parentheses, not

    brackets, although many Schemes support brackets as equivalent to parentheses.

    Sets are the same as lists.

    Version 0.2 does not support and, or, xor, not on sets.

    Version 0.2 does not yet implement compare, opcase, case, app1, app11, app12, cond,

    condlinrec, primrec, step, fold, map, filter, split, some, all, treestep, treerec,

    treegenrec.

    Version 0.2 does not provide a read-execute-print loop.

    Version 0.2 does not support modules.

    Version 0.2 does not have a Joy syntax translator.

    Joy in Scheme will probably never support date functions, random numbers, formatd,

    echo, setecho, system, gc, getenv, argc, argv, abort, quit.

    Bug reports are solicited.

    --

    A mosquito cried out in his pain,               John Cowan

    "A chemist has poisoned my brain!"              http://www.ccil.org/~cowan

            The cause of his sorrow                 http://www.reutershealth.com

            Was para-dichloro-                      jcowan@...

    Diphenyltrichloroethane.                                (aka DDT)

## John Carter — 2003-05-15 03:51:12

    On Wed, 2003-05-14 at 08:23, John Cowan wrote:

     > I am happy to announce that I have a working Joy interpreter implemented in Scheme.

    > Version 0.2 can be downloaded from http://www.ccil.org/~cowan/joy.ss .

     Now all I need is a Scheme interpretor in Joy, then I can die happy...

    Now there's a project. Take Manfred's minimal self interpreting Joy.

    Find/write a minimal self interpreting Scheme.

    Write an interpretor for minimal Joy in minimal Scheme.

    Write an interpretor for minimal Scheme in minimal Joy.

    Geek out for a while with a couple layers mutual virtuality to prove it

    all works.

    Then see which is neater / smaller for various metrics of Neat and

    Small.

    Ooh, I love it!

    --

    John Carter                             Phone : (64)(3) 358 6639

    Tait Electronics                        Fax   : (64)(3) 359 4632

    PO Box 1645 Christchurch                Email : john.carter@...

    New Zealand

    A Million Monkeys can inflict worse things than just Shakespeare on

    your system.