write up lecture notes for extra credit! pop quizzes ~cslab/bin/cs257-scheme ~cslab/bin/cs257-handin ~cslab/bin/emacs ln -s ~cslab/.emacs ~/.emacs Language manual, implementation manual: netscape http://www.unm.edu/~cslab/plt/... expressions comment syntax expression syntax generality. variable numbers of arguments. datatypes: numbers and symbols extended precision (bignums) rationals exact & inexact various builtin functions (see R4RS) essential procedure: number? obj essential procedure: complex? obj essential procedure: real? obj essential procedure: rational? obj essential procedure: integer? obj essential procedure: exact? z essential procedure: inexact? z essential procedure: = z1 z2 z3 ... essential procedure: < x1 x2 x3 ... essential procedure: > x1 x2 x3 ... essential procedure: <= x1 x2 x3 ... essential procedure: >= x1 x2 x3 ... essential procedure: zero? z essential procedure: positive? x essential procedure: negative? x essential procedure: odd? n essential procedure: even? n essential procedure: max x1 x2 ... essential procedure: min x1 x2 ... essential procedure: + z1 ... essential procedure: * z1 ... essential procedure: - z1 z2 essential procedure: - z procedure: - z1 z2 ... essential procedure: / z1 z2 essential procedure: / z procedure: / z1 z2 ... essential procedure: abs x essential procedure: quotient n1 n2 essential procedure: remainder n1 n2 essential procedure: modulo n1 n2 essential procedure: gcd n1 ... essential procedure: lcm n1 ... procedure: numerator q procedure: denominator q essential procedure: floor x essential procedure: ceiling x essential procedure: truncate x essential procedure: round x procedure: rationalize x y procedure: exp z procedure: log z procedure: sin z procedure: cos z procedure: tan z procedure: asin z procedure: acos z procedure: atan z procedure: atan y x procedure: sqrt z Returns the principal square root of z. The result will have either positive real part, or zero real part and non-negative imaginary part. procedure: expt z1 z2 procedure: make-rectangular x1 x2 procedure: make-polar x3 x4 procedure: real-part z procedure: imag-part z procedure: magnitude z procedure: angle z procedure: exact->inexact z procedure: inexact->exact z true and false; if IF is a "special form" like DEFINE and LAMBDA