► |  | How to Design Programs Languages

1 | Beginning Student
2 | Beginning Student with List Abbreviations
3 | Intermediate Student
4 | Intermediate Student with Lambda
5 | Advanced Student
| Index

▼ | 4 | Intermediate Student with Lambda

4.1 | define
4.2 | lambda
4.3 | Function Calls
4.4 | Primitive Operation Names
4.5 | Unchanged Forms

On this page:

define-struct
local
letrec
let
let*
cond
else
if
and
or
time
check-expect
check-within
check-error
check-member-of
check-range
empty
true
false
require

top ← prev up next →

#### 4.5`` Unchanged Forms

( define-struct structid (fieldid ...))

The same as Intermediate’s define-struct.

( local [definition ...] expr)

( letrec ([id expr-for-let] ...) expr)

( let ([id expr-for-let] ...) expr)

( let* ([id expr-for-let] ...) expr)

The same as Intermediate’s local, letrec, let, and let*.

( cond [expr expr] ... [expr expr])

else

The same as Beginning’s cond.

( if expr expr expr)

The same as Beginning’s if.

( and expr expr expr ...)

( or expr expr expr ...)

The same as Beginning’s and and or.

( time expr)

The same as Intermediate’s time.

( check-expect expr expr)

( check-within expr expr expr)

( check-error expr expr)
( check-error expr)

( check-member-of expr expr expr ...)

( check-range expr expr expr)

The same as Beginning’s check-expect, etc.

empty : empty?

true : boolean?

false : boolean?

Constants for the empty list, true, and false.

( require module-path)

The same as Beginning’s require.
top ← prev up next →