Procedure arity introspection http://larceny.ccs.neu.edu/doc/user-manual.html#id2536543 http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Arity.html http://docs.plt-scheme.org/reference/procedures.html http://practical-scheme.net/gauche/man/gauche-refe_54.html#SEC96 http://ironscheme.codeplex.com/Wiki/View.aspx?title=Procedures http://ccrma.stanford.edu/software/snd/snd/s7.html Not able to find docs for Chez, Bigloo, Ikarus, Kawa, SCM, Gambit, STklos, SigScheme. IronScheme ---------- (procedure-arity proc) Returns multiple values for the procedure arities. s7 -- procedure info procedure-source, procedure-arity, procedure-documentation, and help provide a look into a scheme function. procedure-documentation returns the documentation string associated with a procedure (the initial string in the function's body). procedure-arity returns a list describing the argument list of a function: '(required-args optional-args rest-arg). procedure-source returns the source (as a list) of a procedure. > (define* (add-2 a (b 32)) "add-2 adds its 2 args" (+ a b)) add-2 > (procedure-documentation add-2) "add-2 adds its 2 args" > (procedure-arity add-2) (0 2 #f) > (procedure-source add-2) (lambda* (a (b 32)) "add-2 adds its 2 args" (+ a b))