SketchyLISP Reference |
Copyright (C) 2006 Nils M Holm |
[<<Interpreter API] | [Contents] [Index] | [Meta Commands>>] |
SketchyLISP supports three-argument lambda functions, where the third argument is an association list containing the lexical context of the resulting closure:
(lambda (x) (not (p x)) ((p . #<primitive pair?>)))
Scheme does not support first-class lexical environments.
There are some subtle departures from R5RS in the cond
and define
pseudo function of SketchyLISP. See their
descriptions in the Primitive Functions
chapter for details.
SketchyLISP's bottom
, list->integer
,
and integer->list
functions do not have any counterparts
in Scheme. The latter two are implemented easily, though.
Many essential functions that are part of R5RS Scheme are not
implemented in SketchyLISP. See the Library Functions
chapter
to see what actually is implemented.
SketchyLISP syntax transformers implement ony a subset of R5RS syntax transformers:
_
.Syntax transformers are first class objects in SketchyLISP:
let* => #<syntax let*>
This is not necessarily contradition in terms, but it accounts for the fact that syntax transformers are only recognized in car positions of lists.
[<<Interpreter API] | [Contents] [Index] | [Meta Commands>>] |