2 Beginning Student with List Abbreviations
program |
| = |
| def-or-expr ... |
|
|
|
|
|
def-or-expr |
| = |
| definition |
|
| | |
| expr |
|
| | |
| test-case |
|
| | |
| library-require |
|
|
|
|
|
definition |
| = |
| (define (id id id ...) expr) |
|
| | |
| (define id expr) |
|
| | |
| |
|
| | |
| (define-struct id (id ...)) |
|
|
|
|
|
expr |
| = |
| (id expr expr ...) ; function call |
|
| | |
| (prim-op expr ...) ; primitive operation call |
|
| | |
| (cond [expr expr] ... [expr expr]) |
|
| | |
| |
|
| | |
| (if expr expr expr) |
|
| | |
| (and expr expr expr ...) |
|
| | |
| (or expr expr expr ...) |
|
| | |
| |
|
| | |
| id |
|
| | |
| ’quoted ; quoted value |
|
| | |
| `quasiquoted ; quasiquote |
|
| | |
| number |
|
| | |
| |
|
| | |
| |
|
| | |
| string |
|
| | |
| character |
|
|
|
|
|
quoted |
| = |
| id |
|
| | |
| number |
|
| | |
| string |
|
| | |
| character |
|
| | |
| (quoted ...) |
|
| | |
| ’quoted |
|
| | |
| `quoted |
|
| | |
| ,quoted |
|
| | |
| ,@quoted |
|
|
|
|
|
quasiquoted |
| = |
| id |
|
| | |
| number |
|
| | |
| string |
|
| | |
| character |
|
| | |
| (quasiquoted ...) |
|
| | |
| ’quasiquoted |
|
| | |
| `quasiquoted |
|
| | |
| ,expr |
|
| | |
| ,@expr |
|
|
|
|
|
test-case |
| = |
| (check-expect expr expr) |
|
| | |
| (check-within expr expr expr) |
|
| | |
| (check-error expr expr) |
|
|
|
|
|
library-require |
| = |
| (require string) |
|
| | |
| (require (lib string string ...)) |
|
| | |
| (require (planet string package)) |
|
|
|
|
|
package |
| = |
| (string string number number) |
An id is a sequence of characters not including a space or one of the following:
" , ' ` ( ) [ ] { } | ; #
A number is a number such as 123, 3/2, or 5.5.
A string is enclosed by a pair of ". Unlike symbols, strings may be split into characters and manipulated by a variety of primitive functions. For example, "abcdef", "This is a string", and "This is a string with \" inside" are all strings.
A character begins with #\ and has the name of the character. For example, #\a, #\b, and #\space are characters.
A prim-op is one of: | ||||||||
Numbers: Integers, Rationals, Reals, Complex, Exacts, Inexacts | ||||||||
* : (num num num ... -> num) | ||||||||
+ : (num num num ... -> num) | ||||||||
- : (num num ... -> num) | ||||||||
/ : (num num num ... -> num) | ||||||||
< : (real real real ... -> boolean) | ||||||||
<= : (real real real ... -> boolean) | ||||||||
= : (num num num ... -> boolean) | ||||||||
> : (real real real ... -> boolean) | ||||||||
>= : (real real ... -> boolean) | ||||||||
abs : (real -> real) | ||||||||
acos : (num -> num) | ||||||||
add1 : (number -> number) | ||||||||
angle : (num -> real) | ||||||||
asin : (num -> num) | ||||||||
atan : (num -> num) | ||||||||
ceiling : (real -> int) | ||||||||
complex? : (any -> boolean) | ||||||||
conjugate : (num -> num) | ||||||||
cos : (num -> num) | ||||||||
cosh : (num -> num) | ||||||||
current-seconds : (-> int) | ||||||||
denominator : (rat -> int) | ||||||||
e : real | ||||||||
even? : (integer -> boolean) | ||||||||
exact->inexact : (num -> num) | ||||||||
exact? : (num -> boolean) | ||||||||
exp : (num -> num) | ||||||||
expt : (num num -> num) | ||||||||
floor : (real -> int) | ||||||||
gcd : (int int ... -> int) | ||||||||
imag-part : (num -> real) | ||||||||
inexact->exact : (num -> num) | ||||||||
inexact? : (num -> boolean) | ||||||||
integer->char : (int -> char) | ||||||||
integer? : (any -> boolean) | ||||||||
lcm : (int int ... -> int) | ||||||||
log : (num -> num) | ||||||||
magnitude : (num -> real) | ||||||||
make-polar : (real real -> num) | ||||||||
max : (real real ... -> real) | ||||||||
min : (real real ... -> real) | ||||||||
modulo : (int int -> int) | ||||||||
negative? : (number -> boolean) | ||||||||
number->string : (num -> string) | ||||||||
number? : (any -> boolean) | ||||||||
numerator : (rat -> int) | ||||||||
odd? : (integer -> boolean) | ||||||||
pi : real | ||||||||
positive? : (number -> boolean) | ||||||||
quotient : (int int -> int) | ||||||||
random : (int -> int) | ||||||||
rational? : (any -> boolean) | ||||||||
real-part : (num -> real) | ||||||||
real? : (any -> boolean) | ||||||||
remainder : (int int -> int) | ||||||||
round : (real -> int) | ||||||||
sgn : (real -> (union 1 1.0 0 0.0 -1 -1.0)) | ||||||||
sin : (num -> num) | ||||||||
sinh : (num -> num) | ||||||||
sqr : (num -> num) | ||||||||
sqrt : (num -> num) | ||||||||
sub1 : (number -> number) | ||||||||
tan : (num -> num) | ||||||||
zero? : (number -> boolean) | ||||||||
Booleans | ||||||||
boolean=? : (boolean boolean -> boolean) | ||||||||
boolean? : (any -> boolean) | ||||||||
false? : (any -> boolean) | ||||||||
not : (boolean -> boolean) | ||||||||
Symbols | ||||||||
symbol->string : (symbol -> string) | ||||||||
symbol=? : (symbol symbol -> boolean) | ||||||||
symbol? : (any -> boolean) | ||||||||
Lists | ||||||||
| ||||||||
| ||||||||
| ||||||||
| ||||||||
caar : ((cons (cons Z (listof Y)) (listof X)) -> Z) | ||||||||
| ||||||||
cadddr : ((listof Y) -> Y) | ||||||||
caddr : ((cons W (cons Z (cons Y (listof X)))) -> Y) | ||||||||
cadr : ((cons Z (cons Y (listof X))) -> Y) | ||||||||
car : ((cons Y (listof X)) -> Y) | ||||||||
| ||||||||
| ||||||||
| ||||||||
| ||||||||
| ||||||||
cddr : ((cons Z (cons Y (listof X))) -> (listof X)) | ||||||||
cdr : ((cons Y (listof X)) -> (listof X)) | ||||||||
cons : (X (listof X) -> (listof X)) | ||||||||
cons? : (any -> boolean) | ||||||||
eighth : ((listof Y) -> Y) | ||||||||
empty? : (any -> boolean) | ||||||||
fifth : ((listof Y) -> Y) | ||||||||
first : ((cons Y (listof X)) -> Y) | ||||||||
fourth : ((listof Y) -> Y) | ||||||||
length : (list -> number) | ||||||||
list : (any ... -> (listof any)) | ||||||||
list* : (any ... (listof any) -> (listof any)) | ||||||||
list-ref : ((listof X) natural-number -> X) | ||||||||
member : (any list -> boolean) | ||||||||
memq : (any list -> (union false list)) | ||||||||
memv : (any list -> (union false list)) | ||||||||
null : empty | ||||||||
null? : (any -> boolean) | ||||||||
pair? : (any -> boolean) | ||||||||
rest : ((cons Y (listof X)) -> (listof X)) | ||||||||
reverse : (list -> list) | ||||||||
second : ((cons Z (cons Y (listof X))) -> Y) | ||||||||
seventh : ((listof Y) -> Y) | ||||||||
sixth : ((listof Y) -> Y) | ||||||||
third : ((cons W (cons Z (cons Y (listof X)))) -> Y) | ||||||||
Posns | ||||||||
make-posn : (number number -> posn) | ||||||||
posn-x : (posn -> number) | ||||||||
posn-y : (posn -> number) | ||||||||
posn? : (anything -> boolean) | ||||||||
Characters | ||||||||
char->integer : (char -> integer) | ||||||||
char-alphabetic? : (char -> boolean) | ||||||||
char-ci<=? : (char char ... -> boolean) | ||||||||
char-ci<? : (char char ... -> boolean) | ||||||||
char-ci=? : (char char ... -> boolean) | ||||||||
char-ci>=? : (char char ... -> boolean) | ||||||||
char-ci>? : (char char ... -> boolean) | ||||||||
char-downcase : (char -> char) | ||||||||
char-lower-case? : (char -> boolean) | ||||||||
char-numeric? : (char -> boolean) | ||||||||
char-upcase : (char -> char) | ||||||||
char-upper-case? : (char -> boolean) | ||||||||
char-whitespace? : (char -> boolean) | ||||||||
char<=? : (char char ... -> boolean) | ||||||||
char<? : (char char ... -> boolean) | ||||||||
char=? : (char char ... -> boolean) | ||||||||
char>=? : (char char ... -> boolean) | ||||||||
char>? : (char char ... -> boolean) | ||||||||
char? : (any -> boolean) | ||||||||
Strings | ||||||||
format : (string any ... -> string) | ||||||||
list->string : ((listof char) -> string) | ||||||||
make-string : (nat char -> string) | ||||||||
string : (char ... -> string) | ||||||||
string->list : (string -> (listof char)) | ||||||||
string->number : (string -> (union number false)) | ||||||||
string->symbol : (string -> symbol) | ||||||||
string-append : (string ... -> string) | ||||||||
string-ci<=? : (string string ... -> boolean) | ||||||||
string-ci<? : (string string ... -> boolean) | ||||||||
string-ci=? : (string string ... -> boolean) | ||||||||
string-ci>=? : (string string ... -> boolean) | ||||||||
string-ci>? : (string string ... -> boolean) | ||||||||
string-copy : (string -> string) | ||||||||
string-length : (string -> nat) | ||||||||
string-ref : (string nat -> char) | ||||||||
string<=? : (string string ... -> boolean) | ||||||||
string<? : (string string ... -> boolean) | ||||||||
string=? : (string string ... -> boolean) | ||||||||
string>=? : (string string ... -> boolean) | ||||||||
string>? : (string string ... -> boolean) | ||||||||
string? : (any -> boolean) | ||||||||
substring : (string nat nat -> string) | ||||||||
Images | ||||||||
image=? : (image image -> boolean) | ||||||||
image? : (any -> boolean) | ||||||||
Misc | ||||||||
=~ : (real real non-negative-real -> boolean) | ||||||||
eof : eof | ||||||||
eof-object? : (any -> boolean) | ||||||||
eq? : (any any -> boolean) | ||||||||
equal? : (any any -> boolean) | ||||||||
equal~? : (any any non-negative-real -> boolean) | ||||||||
eqv? : (any any -> boolean) | ||||||||
error : (symbol string -> void) | ||||||||
exit : (-> void) | ||||||||
identity : (any -> any) | ||||||||
struct? : (any -> boolean) |