Here's a summary of the syntax of Scheme. There's nothing here about semantics (i.e. meanings). For that, check the Revised^4 Report on Programming Lanugage Scheme. (A PostScript version of that document may be found on the Scheme home page.) Reading everything in that document from the beginning through "Standard procedures" will give you everything you need.
;; FILE "Scheme Sigs" ;; IMPLEMENTS R^4RS Function Signature Synopsis ;; AUTHOR Kenneth A Dickey ;; DATE 1992 October 2 ;; LAST UPDATED 1992 October 3 ;; NOTES: Extracted from Amiga Gambit QuickTour file === FUNCTION SYNOPSIS === Notation: <object> any Scheme data object. <object>* zero or more objects <object>+ one or more objects [<object>] optional object ( <whatever> )... Zero or more occurances of ( <whatever> ) ; SYNTAX (LAMBDA <name> <exp>+ ) (LAMBDA (<name>* ) <exp>+ ) (AND <exp>*) (OR <exp>*) (IF <test-exp> <if-true> [<if-false>] ) (COND (<test> <exp>* )... [(ELSE <exp>+)] ) (CASE <key-exp> ((<datum>+ ) <exp>* )... [(ELSE <exp>+)] ) (DEFINE ( <name> <name>* ) <exp>+ ) (DEFINE <name> <exp> ) (LET [<name>] ( (<vname> <value-exp>)... ) <exp>+ ) (LET* ( (<vname> <value-exp>)... ) <exp>+ ) (LETREC ( (<vname> <value-exp>)... ) <exp>+ ) (BEGIN <expression>+ ) (DO ( (<var> <init> <step>)... ) ( <test> <exp>* ) <exp>* ) ;; Note also R^4RS syntax, below ; IEEE Scheme (NOT <object>) (BOOLEAN? <object>) (EQ? <obj1> <obj2>) (EQV? <obj1> <obj2>) (EQUAL? <obj1> <obj2>) (PAIR? <object>) (CONS <obj1> <obj2>) (CAR <pair>) (CDR <pair>) (SET-CAR! <pair> <object>) (SET-CDR! <pair> <object>) (CAAR <list>) (CADR <list>) (CDAR <list>) (CDDR <list>) (CAAAR <list>) (CAADR <list>) (CADAR <list>) (CADDR <list>) (CDAAR <list>) (CDADR <list>) (CDDAR <list>) (CDDDR <list>) (CAAAAR <list>) (CAAADR <list>) (CAADAR <list>) (CAADDR <list>) (CADAAR <list>) (CADADR <list>) (CADDAR <list>) (CADDDR <list>) (CDAAAR <list>) (CDAADR <list>) (CDADAR <list>) (CDADDR <list>) (CDDAAR <list>) (CDDADR <list>) (CDDDAR <list>) (CDDDDR <list>) (NULL? <object>) (LIST? <object>) (LIST <object>* ) (LENGTH <list>) (APPEND <list>+ ) (REVERSE <list>) (LIST-REF <list> <index>) (MEMQ <object> <list>) (MEMV <object> <list>) (MEMBER <object> <list>) (ASSQ <object> <alist>) (ASSV <object> <alist>) (ASSOC <object> <alist>) (SYMBOL? <object>) (SYMBOL->STRING <symbol>) (STRING->SYMBOL <string>) (NUMBER? <object>) (COMPLEX? <object>) (REAL? <object>) (RATIONAL? <object>) (INTEGER? <object>) (EXACT? <number>) (INEXACT? <number>) (= <number>+ ) (< <number>+ ) (> <number>+ ) (<= <number>+ ) (>= <number>+ ) (ZERO? <number>) (POSITIVE? <number>) (NEGATIVE? <number>) (ODD? <number>) (EVEN? <number>) (MAX <number>+ ) (MIN <number>+ ) (+ <number>+ ) (* <number>+ ) (- <number>+ ) (/ <number>+ ) (ABS <number>) (QUOTIENT <num1> <num2>) (REMAINDER <num1> <num2>) (MODULO <num1> <num2>) (GCD <number>* ) (LCM <number>* ) (NUMERATOR <rational>) (DENOMINATOR <rational>) (FLOOR <number>) (CEILING <number>) (TRUNCATE <number>) (ROUND <number>) (RATIONALIZE <num1> <num2>) (EXP <number>) (LOG <number>) (SIN <number>) (COS <number>) (TAN <number>) (ASIN <number>) (ACOS <number>) (ATAN <number> [<number>]) (SQRT <number>) (EXPT <num1> <num2>) (MAKE-RECTANGULAR <num1> <num2>) (MAKE-POLAR <num1> <num2>) (REAL-PART <number>) (IMAG-PART <number>) (MAGNITUDE <number>) (ANGLE <number>) (EXACT->INEXACT <number>) (INEXACT->EXACT <number>) (NUMBER->STRING <number>) (STRING->NUMBER <string>) (CHAR? <object>) (CHAR=? <char1> <char2>) (CHAR-CI=? <char1> <char2>) (CHAR<? <char1> <char2>) (CHAR-CI<? <char1> <char2>) (CHAR>? <char1> <char2>) (CHAR-CI>? <char1> <char2>) (CHAR<=? <char1> <char2>) (CHAR-CI<=? <char1> <char2>) (CHAR>=? <char1> <char2>) (CHAR-CI>=? <char1> <char2>) (CHAR-ALPHABETIC? <character>) (CHAR-NUMERIC? <character>) (CHAR-WHITESPACE? <character>) (CHAR-UPPER-CASE? <character>) (CHAR-LOWER-CASE? <character>) (CHAR->INTEGER <character>) (INTEGER->CHAR <integer>) (CHAR-UPCASE <character>) (CHAR-DOWNCASE <character>) (STRING? <object>) (MAKE-STRING <length> [<character>] ) (STRING <character>+ ) (STRING-LENGTH <string>) (STRING-REF <string> <index>) (STRING-SET! <string> <index> <character>) (STRING=? <string1> <string2>) (STRING-CI=? <string1> <string2>) (STRING<? <string1> <string2>) (STRING-CI<? <string1> <string2>) (STRING>? <string1> <string2>) (STRING-CI>? <string1> <string2>) (STRING<=? <string1> <string2>) (STRING-CI<=? <string1> <string2>) (STRING>=? <string1> <string2>) (STRING-CI>=? <string1> <string2>) (SUBSTRING <string> <start-index> <end-index>) (STRING-APPEND <string>+ ) (VECTOR? <object>) (MAKE-VECTOR <length> [<object>] ) (VECTOR <object>* ) (VECTOR-LENGTH <vector>) (VECTOR-REF <vector> <index>) (VECTOR-SET! <vector> <index> <object>) (PROCEDURE? <object>) (APPLY <procedure> <arg>* <arg-list>) (MAP <procedure> <list>+ ) (FOR-EACH <procedure> <list>+ ) (CALL-WITH-CURRENT-CONTINUATION <one-argument-procedure>) (CALL-WITH-INPUT-FILE <string> <procedure>) (CALL-WITH-OUTPUT-FILE <string> <procedure>) (INPUT-PORT? <object>) (OUTPUT-PORT? <object>) (CURRENT-INPUT-PORT) (CURRENT-OUTPUT-PORT) (OPEN-INPUT-FILE <string>) (OPEN-OUTPUT-FILE <string>) (CLOSE-INPUT-PORT <input-port>) (CLOSE-OUTPUT-PORT <output-port>) (EOF-OBJECT? <object>) (READ [<input-port>] ) (READ-CHAR [<input-port>] ) (PEEK-CHAR [<input-port>] ) (WRITE <object> [<output-port>] ) (DISPLAY <object> [<output-port>] ) (NEWLINE [<output-port>] ) (WRITE-CHAR <character> [<output-port>] ) ; R4RS Scheme (LIST-TAIL <list> <index>) (STRING->LIST <string>) (LIST->STRING <list-of-characters>) (STRING-COPY <string>) (STRING-FILL! <string> <character>) (VECTOR->LIST <vector>) (LIST->VECTOR <list>) (VECTOR-FILL! <vector> <object>) (DELAY <expression>) (FORCE <promise>) (WITH-INPUT-FROM-FILE <string> <thunk>) (WITH-OUTPUT-TO-FILE <string> <thunk>) (CHAR-READY? [<input-port>] ) (LOAD <string>) (TRANSCRIPT-ON <string>) (TRANSCRIPT-OFF) (DEFINE-SYNTAX <name> <transformer-spec>) -- High-Level macros (only) (LET-SYNTAX ( <syntax-spec>* ) <exp>+ ) (LETREC-SYNTAX ( <syntax-spec>* ) <exp>+ ) === STANDARDS REFERENCES === IEEE Standard 1178-1990. "IEEE Standard for the Scheme Programming Language", IEEE, New York, 1991, ISBN 1-55937-125-0 [1-800-678-IEEE: order # SH14209]. -- now also an ANSI standard. W. Clinger and J. Rees, eds., "Revised^4 Report on the Algorithmic Language Scheme", ACM LISP Pointers IV, 3 (July-September 1991).