diff options
Diffstat (limited to 'QUICKREF')
-rw-r--r-- | QUICKREF | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/QUICKREF b/QUICKREF new file mode 100644 index 0000000..93ca5d4 --- /dev/null +++ b/QUICKREF @@ -0,0 +1,201 @@ +;; 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). |