SketchyLISP Reference |
Copyright (C) 2007 Nils M Holm |
[<<Interpreter API] | [Contents] [Index] | [Meta Commands>>] |
Because SketchyLISP is purely applicative, some of its syntaxes are a little more strict than their Scheme counterparts. For example,
cond
must have a default clause;
case
must have a default case;
if
must have an alternative;
begin
.
SketchyLISP syntax transformers implement ony a subset of R5RS syntax transformers:
Syntax transformers are first class objects in SketchyLISP:
let* => #<syntax let*>
The following R5RS functions and other features are not implemented in SketchyLISP.
Named let
, quasi quotation, lazy evaluation, input/output
port data types, the =>
operator of cond
,
mutable data, multiple values, numeric base prefixes
(#b #d #o #x
), rational numbers, floating point numbers,
complex numbers.
First-class continuations were part of SketchyLISP up to and including version 2006-11-27. They are no longer part of the language.
Quasi quotation: , ,@ ` quasiquote
unquote unquote-splicing
Input/Output: call-with-input-file
call-with-output-file close-input-port close-output-port
current-input-port current-output-port char-ready? input-port?
open-input-file open-output-file output-port? port?
Numeric: / acos angle asin atan ceiling
complex? cos denominator exact->inexact exact? exp floor imag-part
inexact->exact inexact? log magnitude make-polar make-rectangular
numerator rational? rationalize real-part real? round sin tan truncate
Vectors: make-vector vector-fill!
vector-set!
Other: call-with-current-continuation
call-with-values delay do dynamic-wind eval for-each force let-syntax
letrec-syntax make-string set! set-car! set-cdr! string-copy string-fill!
string-set! transcript-off transcript-on values
[<<Interpreter API] | [Contents] [Index] | [Meta Commands>>] |