next up previous contents
Next: 7 QScheme procedures Up: QScheme Documentation Previous: 5 QScheme extensions and   Contents

Subsections

6 Expressions

6.1 Primitive expressions types

These comply- with the one exception noted below - with the R5RS specification.

(quote (datum)) -> <list> 
'(datum) -> <list>

(operator operand1 ...) -> <object>

(lambda formals body) -> <procedure>
(define (name arg ...) body) -> #undefined

(define variable expr) -> #undefined 
(set! variable expr) -> #undefined

Refer to the discussion at 5.5

(if test when-true when-false) -> <object> 
(if test when-true) -> <object>

(while test body) -> <object>
Evaluate body while test returns #t.

(until test body) -> <object>
Evaluate body while test returns #f.

(begin expr ...) -> <object>

See R5RS.

6.2 Derived expressions

(cond clause1 clause2 ...) -> <object>  
(case key clause1 clause2 ...) 
(and test1 ...) -> <object>  
(or test1 ... ) -> <object>

See R5RS.

(case key clause1 clause2 ...) -> <object>

Not implemented yet .

(let binding body) -> <object>  
(let* binding body) -> <object>  
(letrec binding body) -> <object>

See R5RS.

(begin expr1 expr2 ...) -> <object> 
(do ((var1 init1 step1 ) ... ) (test expr ... ) command ...) -> <object>

See R5RS.

(let var bindings body) -> <object>

Not implemented yet

(delay expr) -> <object>

Not implemented yet.

(quasiquote (template)) -> <object>  
`(template)) -> <object>

See R5RS


next up previous contents
Next: 7 QScheme procedures Up: QScheme Documentation Previous: 5 QScheme extensions and   Contents
Daniel Crettol 2000-06-12