1. To invoke MIT-Scheme interpreter on paladin/discover/gamma: type "scheme" to shell (Prompt: "csh>"). csh> scheme 2. Typically a file containing Scheme function definitions is created prior to invoking the interpreter (Prompt "]=>"). To load the file "EG.scm" containing the definitions use ]=>(load "EG.scm") Subsequently, the code can be tested by appropriate function calls. ]=>(cons 'a (list 1 ())) 3. To store the transcript of a complete session with the interpreter in the file called "Test-Log", use the following commands: ]=>(transcript-on "Test-Log") ]=>(load "EG.scm") ]=> ... ]=>(func arg1 ... argn) ; TEST CASES ]=> ... ]=>(transcript-off) 4. Scheme comments begin with ";" and go through end-of-line. (Cf. Java/C++ comments begin with "//" and go through end-of-line. Ada comments begin with "--" and go through end-of-line.) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Note that the functionality of : "Is this an atom?" can be obtained by using the following related predicates: symbol?, number? etc (symbol? 'a) ; #t (symbol? '(a b c)) ; () (number? 5) ; #t (eq? () #f) ; #t ============================================================================ "()" is interpreted as EMPTY-LIST in a list-context and is interpreted as FALSE in a boolean-context. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The following pairs of expressions are NOT equal. (two+three) (two + three) ; Blanks around + act as token separator. (two.three) (two . three) ; LHS is a list containing an identifier, ; RHS is a dotted pair. '( (a) ) '( a ) ; parentheses in data adds a nesting level, and so are significant. ( append ) append ; parentheses in code adds a call to interpreter, and so are significant.