[plt-scheme] praise to PLT
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
http://csu660.barzilay.org/csu660.plt
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!