Version 11 of Muddy Scheme

Updated 2010-01-16 17:21:58 by pmarin

Author: pmarin
Please add content only in the Comments section.


Introduction

Muddy Scheme is an implementation of the Scheme language in Tcl.

This interpreter tries to follow the awesome "Scheme from Scratch" articles written by Peter Michaux.

  • Types: Integers, characters, booleans, symbols, lists, strings and primitive procedures (no lambdas!!!)
  • primitives: car, cdr, cons, zero?, number?, null?, +, define (only for variables), set!

Requirements

Muddy Scheme needs Tcl8.6 and tcllib (struct::stack)

Install

The Github page is: http://github.com/pmarin/Muddy-Scheme
You can get the code with:

    $ git clone [email protected]:pmarin/Muddy-Scheme.git

Example of use

    $ muddy.tcl
    Welcome to Muddy Scheme, Copyright (c) 2010 Franciso José Marín Pérez
    Use ctrl-c to exit.

    > #t
    #t
    > -123
    123
    > #\c
    #\c
    > "asdf"
    "asdf"
    > (quote ())
    ()
    > (quote (0 . 1))
    (0 . 1)
    > (quote (0 1 2 3))
    (0 1 2 3)
    > (quote asdf)
    asdf
    > (define a 1)
    ok
    > a
    1
    > (set! a 2)
    ok
    > a
    2
    > (if #t 1 2)
    1
    > (+ 1 2 3)
    6
    > + 
    #<primitive>
    >^c
    $

News

(2010-1-16) Currently the code is compliant with bootstrap-scheme v0.11

License

MIT License
I give permission to wiki users to copy & paste the code in this wiki.

Comments

pmarin. Enjoy!!!