home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 44
/
Amiga_Dream_44.iso
/
RiscPc
/
programmation
/
scm4e2.arc
/
!Scm
/
docs
/
QUICKREF
< prev
next >
Wrap
Text File
|
1994-10-06
|
7KB
|
202 lines
;; 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).