packages feed

haskeem-0.7.9: haskeem.doc

; Copyright 2008 Uwe Hollerbach <uh@alumni.caltech.edu>

; This file is part of haskeem.
; haskeem is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.

; haskeem is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.

; You should have received a copy of the GNU General Public License
; along with haskeem; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

; $Id: haskeem.doc,v 1.40 2009-07-10 05:15:38 uwe Exp $

; Input to documentation generator for haskeem. The intent is that this
; does NOT have to be globally ordered, it is possible to just add new
; stuff at the end, and the gendoc program will sort and classify it
; correctly. For now I'm just trying to capture the input and return
; types, not any detailed documentation.

((form and) (args . test-values) (return boolean))
((form or) (args . test-values) (return boolean))

((form apply) (args func list))
((form apply) (args func . values))

((form begin) (args . expressions))
((form quote) (args val))

((form case) (args key . key-clauses))
((form cond) (args . cond-clauses))

((form define) (args var))
((form define) (args var val))
((form define) (args (var params) body))
((form define) (args (var params . varargs) body))
((form defmacro) (args (var params) body))
((form defmacro) (args (var params . varargs) body))

((form let) (args (vars params) . body))
((form let*) (args (vars params) . body))
((form letrec) (args (vars params) . body))
((form letrec*) (args (vars params) . body))

((form do) (args a lot))

((form eval) (args . expressions))

((form delay) (args expr) (return promise))
((form force) (args promise) (return value))

((form guard) (args a lot))

((form if) (args pred true-case false-case))
((form if) (args pred true-case))

((macro unless) (args pred expressions))
((macro when) (args pred expressions))

((form load) (args filename))

((form lambda) (args (params) body))
((form lambda) (args (params . varargs) body))
((form lambda) (args varargs body))

((form set!) (args var val))
((form trace) (args func bool))
((form dump-bindings) (args))
((form dump-bindings) (args port))

((port stdin))
((port stdout))
((port stderr))
((data pi))

((function caar) (args pair) (return value))
((function cadr) (args pair) (return value))
((function cdar) (args pair) (return value))
((function cddr) (args pair) (return value))
((function caaar) (args pair) (return value))
((function caadr) (args pair) (return value))
((function cadar) (args pair) (return value))
((function caddr) (args pair) (return value))
((function cdaar) (args pair) (return value))
((function cdadr) (args pair) (return value))
((function cddar) (args pair) (return value))
((function cdddr) (args pair) (return value))
((function caaaar) (args pair) (return value))
((function caaadr) (args pair) (return value))
((function caadar) (args pair) (return value))
((function caaddr) (args pair) (return value))
((function cadaar) (args pair) (return value))
((function cadadr) (args pair) (return value))
((function caddar) (args pair) (return value))
((function cadddr) (args pair) (return value))
((function cdaaar) (args pair) (return value))
((function cdaadr) (args pair) (return value))
((function cdadar) (args pair) (return value))
((function cdaddr) (args pair) (return value))
((function cddaar) (args pair) (return value))
((function cddadr) (args pair) (return value))
((function cdddar) (args pair) (return value))
((function cddddr) (args pair) (return value))

((function eval) (args expr))

((function flip) (args func) (return function))

((function curry) (args func arg1) (return function))

((function compose) (args func1 func2) (return function))

((function foldr) (args func end-value lst))
((function foldl) (args func accum-value lst))
((function unzip) (args list) (return (list list)))

((function list) (args . objects) (return list))
((function append) (args list . lists) (return list))

((function length) (args list) (return integer))

((function list-head) (args list n) (return list))
((function list-unhead) (args list n) (return list))
((function list-tail) (args list n) (return list))
((function list-untail) (args list n) (return list))
((function list-ref) (args list n) (return value))
((function list-unref) (args list n) (return list))
((function last) (args list) (return value))

((function map) (args func list . lists) (return list))

((function filter) (args pred lst) (return list))

((function list-sort) (args pred? list) (return list))
((function list-drop-while) (args drop? list) (return list))
((function list-take-while) (args keep? list) (return list))
((function string-split-by) (args drop? str) (return list))
((function string-join-by) (args join strs) (return string))

((function string-upcase) (args str) (return string))
((function string-downcase) (args str) (return string))

((function expmod) (args a n m) (return integer))
((function mersenne-prime?) (args e) (return boolean))

((primitive not) (args value) (return boolean))
((primitive null?) (args obj) (return boolean))
((primitive even?) (args number) (return boolean))
((primitive odd?) (args number) (return boolean))
((primitive id) (args x) (return x))
((primitive reverse) (args list) (return list))
((primitive +) (args number1 number2 . numbers) (return number))
((primitive -) (args number1 number2 . numbers) (return number))
((primitive *) (args number1 number2 . numbers) (return number))
((primitive /) (args number1 number2 . numbers) (return number))
((primitive expt) (args number1 number2) (return number))
((primitive min) (args number1 number2 . numbers) (return number))
((primitive max) (args number1 number2 . numbers) (return number))
((primitive modulo) (args number1 number2) (return number))
((primitive quotient) (args number1 number2) (return number))
((primitive remainder) (args number1 number2) (return number))
((primitive gcd) (args integer1 integer2 . integers) (return integer))
((primitive lcm) (args integer1 integer2 . integers) (return integer))
((primitive =) (args number1 number2) (return boolean))
((primitive <) (args number1 number2) (return boolean))
((primitive >) (args number1 number2) (return boolean))
((primitive /=) (args number1 number2) (return boolean))
((primitive >=) (args number1 number2) (return boolean))
((primitive <=) (args number1 number2) (return boolean))
((primitive boolean?) (args value) (return boolean))
((primitive symbol?) (args value) (return boolean))
((primitive char?) (args value) (return boolean))
((primitive number?) (args value) (return boolean))
((primitive integer?) (args value) (return boolean))
((primitive rational?) (args value) (return boolean))
((primitive real?) (args value) (return boolean))
((primitive string?) (args value) (return boolean))
((primitive pair?) (args value) (return boolean))
((primitive list?) (args value) (return boolean))
((primitive port?) (args value) (return boolean))
((primitive procedure?) (args value) (return boolean))
((primitive zero?) (args number) (return boolean))
((primitive positive?) (args number) (return boolean))
((primitive negative?) (args number) (return boolean))
((primitive nan?) (args number) (return boolean))
((primitive infinite?) (args number) (return boolean))
((primitive finite?) (args number) (return boolean))
((primitive string=?) (args string1 string2) (return boolean))
((primitive string<?) (args string1 string2) (return boolean))
((primitive string>?) (args string1 string2) (return boolean))
((primitive string>=?) (args string1 string2) (return boolean))
((primitive string<=?) (args string1 string2) (return boolean))
((primitive char=?) (args char1 char2) (return boolean))
((primitive char<?) (args char1 char2) (return boolean))
((primitive char>?) (args char1 char2) (return boolean))
((primitive char>=?) (args char1 char2) (return boolean))
((primitive char<=?) (args char1 char2) (return boolean))
((primitive char->string) (args (char . chars)))	; todo other version?
((primitive string->char) (args string) (return (character)))
((primitive string->number) (args string) (return number))
((primitive number->string) (args number) (return string))
((primitive number->string) (args number base) (return string))
((primitive symbol->string) (args symbol) (return string))
((primitive char-alphabetic?) (args character) (return boolean))
((primitive char-numeric?) (args character) (return boolean))
((primitive char-oct-digit?) (args character) (return boolean))
((primitive char-hex-digit?) (args character) (return boolean))
((primitive char-whitespace?) (args character) (return boolean))
((primitive char-upper-case?) (args character) (return boolean))
((primitive char-lower-case?) (args character) (return boolean))
((primitive char-alphanumeric?) (args character) (return boolean))
((primitive char-control?) (args character) (return boolean))
((primitive char-printable?) (args character) (return boolean))
((primitive char-upcase) (args character) (return boolean))
((primitive char-downcase) (args character) (return boolean))
((primitive car) (args pair))
((primitive cdr) (args pair))
((primitive cons) (args value1 value2))
((primitive eqv?) (args value1 value2) (return boolean))
((primitive char->integer) (args character) (return integer))
((primitive integer->char) (args number) (return character))
((primitive floor) (args number) (return integer))
((primitive truncate) (args number) (return integer))
((primitive round) (args number) (return integer))
((primitive round) (args number integer integer) (return number))
((primitive ceiling) (args number) (return integer))
((primitive numerator) (args rational) (return integer))
((primitive denominator) (args rational) (return integer))
((primitive abs) (args number) (return number))
((primitive sqrt) (args number) (return real))
((primitive exp) (args number) (return real))
((primitive log) (args number) (return real))
((primitive sin) (args number) (return real))
((primitive cos) (args number) (return real))
((primitive tan) (args number) (return real))
((primitive sinh) (args number) (return real))
((primitive cosh) (args number) (return real))
((primitive tanh) (args number) (return real))
((primitive asin) (args number) (return real))
((primitive acos) (args number) (return real))
((primitive atan) (args number) (return real))
((primitive atan) (args number1 number2) (return real))
((primitive asinh) (args number) (return real))
((primitive acosh) (args number) (return real))
((primitive atanh) (args number) (return real))

((primitive open-input-file) (args filename) (return read-port))
((primitive open-output-file) (args filename) (return write-port))
((primitive open-append-file) (args filename) (return write-port))
((primitive close-port) (args port) (return))
((primitive raise) (args string))
((primitive display) (args object) (return ))
((primitive read-line) (args port) (return string))
((primitive read-char) (args port) (return character))
((primitive read-contents) (args filename) (return string))
((primitive read-all) (args filename) (return list))
((primitive write-string) (args string-or-character . str-or-chars) (return ))
((primitive write-string)
	(args port string-or-character . str-or-chars) (return ))
((primitive flush-port) (args port) (return ))
((primitive exit) (args status))

((function find) (args proc list) (return value))
((function partition) (args pred list) (return (list list)))
((function assp) (args test? list) (return pair))
((function assv) (args obj list) (return pair))
((function memp) (args test? list) (return list))
((function memv) (args obj list) (return list))

((function stream-head) (args stream n) (return list))
((function stream-map) (args func stream . streams) (return stream))
((primitive rename-file) (args oldname newname) (return bool))
((primitive remove-file) (args filename) (return bool))
((primitive get-current-directory) (args) (return directory-path))
((primitive set-current-directory) (args directory-path) (return bool))
((primitive read-directory) (args directory-path) (return (string)))
((primitive file-exists?) (args filename) (return bool))
((primitive directory-exists?) (args dirname) (return bool))
((primitive get-environment) (args environment-variable) (return string))
((primitive get-environment) (args) (return (string . string)))
((primitive set-environment) (args key val))
((primitive unset-environment) (args key))
((primitive epochtime) (args) (return number))
((primitive localtime) (args) (return string))
((primitive localtime) (args n) (return string))
((primitive UTCtime) (args) (return string))
((primitive UTCtime) (args n) (return string))
((function exact-integer-sqrt) (args number) (return (number number)))
((function exact-integer-cbrt) (args number) (return (number number)))
((function for-each) (args proc list . lists))
((function for-all-combinations) (args proc . lsts))

((function replicate) (args val n) (return list))
((function upfrom) (args start n) (return list))
((function list-tabulate) (args n proc) (return list))
((function cputime) (args) (return number))
((function get-file-status) (args filename) (return list))
((function get-link-status) (args filename) (return list))
((function is-block-device?) (args filename) (return bool))
((function is-char-device?) (args filename) (return bool))
((function is-named-pipe?) (args filename) (return bool))
((function is-regular-file?) (args filename) (return bool))
((function is-directory?) (args filename) (return bool))
((function is-symbolic-link?) (args filename) (return bool))
((function is-socket?) (args filename) (return bool))
((function create-link) (args old-name new-name) (return bool))
((function create-symbolic-link) (args old-name new-name) (return bool))
((primitive ilog) (args integer) (return integer))
((primitive ilog) (args integer integer) (return integer))
((primitive factorial) (args integer) (return integer))
((primitive make-vector) (args integer) (return vector))
((primitive make-vector) (args integer value) (return vector))
((primitive vector) (args (values)) (return vector))
((primitive list->vector) (args list) (return vector))
((primitive vector->list) (args vector) (return list))
((primitive vector-length) (args vector) (return integer))
((primitive vector-ref) (args vector integer) (return value))
((form vector-set!) (args var index value) (return vector))
((form vector-fill!) (args var value) (return vector))
((form vector-resize!) (args var new-size) (return vector))
((function vector-for-each) (args proc vector . vectors) (return vector))
((form quasiquote))
((form unquote))
((form unquote-splicing))
((primitive random-uniform) (args) (return real))
((primitive random-uniform) (args lo-int hi-int) (return integer))
((primitive random-uniform) (args lo-flt hi-flt) (return real))
((primitive random-exponential) (args) (return real))
((primitive random-exponential) (args number) (return real))
((primitive random-normal-pair) (args) (return (real real)))
((primitive random-normal-pair) (args mean sdev) (return (real real)))
((primitive random-poisson) (args lambda) (return integer))
((primitive random-seed!) (args integer))
((primitive random-seed!) (args string))
((primitive connect-to) (args hostname port) (return port))
((primitive connect-to) (args hostname unix-socket) (return port))
((primitive listen-on) (args port) (return socket-descriptor))
((primitive listen-on) (args unix-socket) (return socket-descriptor))
((primitive accept) (args socket) (return (handle hostname port)))
((primitive set-line-buffering!) (args handle))
((primitive set-no-buffering!) (args handle))
((function stream-scale) (args scale stream) (return stream))

((primitive procedure->data) (args lisp-function) (return list))
((macro assert) (args expr) (return expr))
((function list-remove-dups) (args list) (return list))
((macro while) (args cond . actions) (return trip-count))
((macro until) (args cond . actions) (return trip-count))
((macro do-while) (args cond . actions) (return trip-count))
((macro do-until) (args cond . actions) (return trip-count))
((macro load-library) (args filename))

((primitive bits-and) (args integer integer) (return integer))
((primitive bits-or) (args integer integer) (return integer))
((primitive bits-xor) (args integer integer) (return integer))
((primitive bits-not) (args integer) (return integer))
((primitive bits-shift) (args integer integer) (return integer))
((primitive bits-set) (args integer integer) (return integer))
((primitive bits-clear) (args integer integer) (return integer))
((primitive bits-flip) (args integer integer) (return integer))
((primitive bits-set?) (args integer integer) (return bool))
((primitive bits-get) (args integer integer) (return integer))
((function stream-take-while) (args keep? strm) (return strm))
((function fcdr) (args promise) (return value))
((function nth) (args n list) (return value))
((function newline) (args . port))
((primitive create-directory) (args dirname))
((primitive remove-directory) (args dirname))
((primitive rename-directory) (args dirname))
((primitive vector?) (args vector) (return bool))

; This is a boolean saying whether the session is interactive or not

((data interactive?))

; This contains the command-line args of the haskeem process

((data args))
((function cycle) (args list) (return stream))

((function heap-new) (args pred? size) (return vector))
((function heap-insert) (args vector obj) (return vector))
((function heap-remove) (args vector) (return obj vector))
((macro heap-insert!) (args vector obj) (return vector))
((macro heap-remove!) (args vector) (return obj vector))

((function set-new) (args) (return set))
((function intset-new) (args) (return intset))
((function bitset-new) (args) (return bitset))

((function set-member?) (args set element) (return bool))
((function intset-member?) (args intset element) (return bool))
((function bitset-member?) (args bitset element) (return bool))

((function set-empty?) (args set) (return bool))
((function intset-empty?) (args intset) (return bool))
((function bitset-empty?) (args bitset) (return bool))

((function set-add) (args set element) (return set))
((function intset-add) (args intset element) (return intset))
((function bitset-add) (args bitset element) (return bitset))

((function set-remove) (args set element) (return set))
((function intset-remove) (args intset element) (return intset))
((function bitset-remove) (args bitset element) (return bitset))

((function set-remove-dups) (args set) (return set))
((function intset-remove-dups) (args intset) (return intset))
((function bitset-remove-dups) (args bitset) (return bitset))

((function set-or) (args set set) (return set))
((function intset-or) (args intset intset) (return intset))
((function bitset-or) (args bitset bitset) (return bitset))

((function set-andnot) (args set set) (return set))
((function intset-andnot) (args intset intset) (return intset))
((function bitset-andnot) (args bitset bitset) (return bitset))

((function set-xor) (args set set) (return set))
((function intset-xor) (args intset intset) (return intset))
((function bitset-xor) (args bitset bitset) (return bitset))

((function set-and) (args set set) (return set))
((function intset-and) (args intset intset) (return intset))
((function bitset-and) (args bitset bitset) (return bitset))

((function set-equal?) (args set set) (return bool))
((function intset-equal?) (args intset intset) (return bool))
((function bitset-equal?) (args bitset bitset) (return bool))

((function bitset->list) (args bitset) (return list))

((function set-for-each) (args set fn))
((function intset-for-each) (args intset fn))
((function bitset-for-each) (args bitset fn))

((function make-stack) (args . values) (return function))
((macro fluid-let) (args (vars params) . body))

((primitive run-command) (args command) (return exit-status))
((primitive run-read-command) (args command) (return port))
((primitive run-read-command) (args command working-directory) (return port))
((primitive run-write-command) (args command) (return port))
((primitive run-write-command) (args command working-directory) (return port))