[plt-scheme] praise to PLT

From: Eli Barzilay (eli at barzilay.org)
Date: Sun May 14 22:15:21 EDT 2006

On May 15, jos.koot at tiscali.nl wrote:
> Hi,
> The language tools of MzScheme are very powerfull.
> I was intrigued by the example in section
> 12.5 Special Syntax Identifiers of PLT MzScheme Language manual.
> Reading it I felt that it should be rather easy
> to use #%app for lazy evaluation.
> Indeed it was not too difficult. 
> I like to share my example with you in honour of the PLT team.
> See attachment. (I currently cant access my home page)

You might be interested in my Lazy Scheme -- it's implementing enough
of MzScheme and pretty big to write useful code in.  It's part of my
course plugin at


It also contains a language level called "Schlac" which is similar to
yours but more extreme:

* `lambda' and `#%app' are always curried

* Almost no primitives come with the language, even Scheme numbers and
  booleans are treated as unbound identifiers

* `define' works like in ML (each `define' starts a new scope), so it
  can be used as simple definitions -- no recursion

* There are primitives that can convert Church-encoded numerals,
  boolean, and lists to Scheme values (but they are hard wired into
  the popular numeral encoding, which is not the one you use).

At http://csu660.barzilay.org/church.scm there is code that implements
everything up to fibs.

(Warning: this course thing checks for update by default.)

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.