summaryrefslogtreecommitdiffstats
path: root/QUICKREF
diff options
context:
space:
mode:
Diffstat (limited to 'QUICKREF')
-rw-r--r--QUICKREF201
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).