"raptor" <·······@gmail.com> writes:
> is there a CLISP reference card ?
http://clisp.cons.org/impnotes/
http://www.lisp.org/HyperSpec/FrontMatter/index.html
--
__Pascal Bourguignon__ http://www.informatimago.com/
Until real software engineering is developed, the next best practice
is to develop with a dynamic system that has extreme late binding in
all aspects. The first system to really do this in an important way
is Lisp. -- Alan Kay
"raptor" <·······@gmail.com> writes:
> Sorry i meaned Reference-card, not Referrences. :)
And I bet you meant Common Lisp, not clisp too.
But when the whole CLHS is only:
18M /local/html/local/lisp/www.lispworks.com
a drop in the ocean, even for a PDA...
I don't see what use a paper "reference card" would be. It'd be
slower to access, and harder to read. Remember there are 972 symbols
exported by the COMMON-LISP package, some with several meanings.
It's better to browse CLHS directly from emacs (be it via HTTP or
using a ".info" version) than to scan manually a reference card.
Also, if you'd need the list of parameter of functions, or other
syntactic hints, slime gives them to you for free, and dynamically,
while you type your code in emacs.
You can use the following to dump the list of all symbols exported
from CL -- instant reference card --.
(defun is-type-p (symbol)
(handler-case (prog1 t (typep t symbol)) (error () nil)))
(defun is-class-p (symbol)
(ignore-errors (find-class symbol)))
(defun list-all-symbols (package)
(sort
(loop for sym being each external-symbol of package
when (and (fboundp sym)
(not (or (special-operator-p sym)
(macro-function sym))))
collect (list sym (if (typep (fdefinition sym) 'generic-function)
"Generic Function" "Function"))
when (macro-function sym) collect (list sym "Macro")
when (compiler-macro-function sym) collect (list sym "Compiler Macro")
when (and (boundp sym) (constantp sym)) collect (list sym "Constant")
when (and (boundp sym) (not (constantp sym)))
collect (list sym "Variable")
when (special-operator-p sym) collect (list sym "Special Operator")
when (and (is-type-p sym) (subtypep sym 'condition))
collect (list sym "Condition")
when (is-type-p sym) collect (list sym "Type")
when (is-class-p sym) collect (list sym "Class")
when (not (or (fboundp sym) (boundp sym)
(special-operator-p sym) (compiler-macro-function sym)
(is-type-p sym) (is-class-p sym)))
collect (list sym "Nothing Specific"))
(function string-lessp) :key (function car)))
(dolist (x (LIST-ALL-SYMBOLS "COMMON-LISP")) (print x))
--
__Pascal Bourguignon__ http://www.informatimago.com/
This is a signature virus. Add me to your signature and help me to live.