==== lisp, and the language of list processing ==== Lisp is for building organisms - imposing, breathtaking, dynamic structures built by squads fitting fluctuating myriads of simpler organisms into place. -- Alan J. Perils in SICP ==== Introductions ==== * [[https://ambrevar.xyz/modern-common-lisp/index.html|Modern, functional Common Lisp: Myths and tips]]. ==== reference + docs ==== * [[http://www.lispworks.com/reference/HyperSpec/Front/index.htm|Common Lisp HyperSpec]] * [[http://www-2.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html|Common Lisp the Language]] * The [[EncyCMUCLopedia]], [[http://www.isr.ist.utl.pt/library/docs/encycmuclopedia/doc/|A CMU Common Lisp Documentation Collection]]. * [[http://cl-cookbook.sourceforge.net/|The Common Lisp Cookbook]] ==== implementations ==== * [[http://sbcl.org/|SBCL]] (based on the earlier [[http://www.cons.org/cmucl/|CMUCL]]) is a "high performance compiler and runtime system for ANSI Common Lisp, it provides an interactive environment including a debugger, a statistical profiler, a code coverage tool, and many other extensions." * [[https://ccl.clozure.com/|Clozure CL]] aka. CCL "is a free Common Lisp implementation with a long history. Some distinguishing features of the implementation include fast compilation speed, native threads, a precise, generational, compacting garbage collector, and a convenient foreign-function interface." for x86, x86-64, ppc32, ppc64, armv7l/armv6 * CLisp http://clisp.sourceforge.net/ ====extensions/libraries/programmes==== * first stop is usually [[https://www.quicklisp.org/|quicklisp]] * Common Lisp Music (CLM) for synthesis + signal processing http://www-ccrma.stanford.edu/software/snd/snd/clm.html * SDL (simple direct media layer) bindings http://cl-sdl.sourceforge.net/ * OpenGL bindings * for alegro + gcl -> http://tapir-server.uwaterloo.ca/~mannr/software.html * in general OpenGL bindings at CLiki * opengl cffi bindings on http://common-lisp.net * L-systems http://www.ii.uib.no/~knute/lsystems/llisp.html * LUSH (universal shell / prototyping / etc+ ) http://lush.sourceforge.net/doc.html * Wilbur is Nokia Research Center's toolkit for programming Semantic Web applications that use RDF and DAML+OIL (and XML) http://wilbur-rdf.sourceforge.net/ * networking * tcp stack / low level networking with slitch > http://www.cliki.net/Slitch ====reading==== * Structure and Interpretation of Computer Programs http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%_toc_start * "On Lisp" by Paul Graham http://www.paulgraham.com/onlisp.html * the CLiki reference/discsussion site. "This site intends to provide a collection of links to and resources for free software implemented in Common Lisp and available on Unix-like systems. Listed software should satisfy the DFSG." http://ww.telent.net/cliki/ * Pascal Costanza's Highly Opinionated Guide to Lisp http://www.pascalcostanza.de/lisp/guide.html * revenge of the son of the LispMachine > http://www.ccs.neu.edu/scheme/pubs/icfp99-ffkf.pdf * "Succesful Lisp" by David B. Lamkins http://psg.com/~dlamkins/sl/cover.html ====scheme==== * MrEd and DrScheme http://www.drscheme.org/ * mzscheme http://www.plt-scheme.org/software/mzscheme/ * some links + reading http://www.shiro.dreamhost.com/scheme/index.html * [[Operating System]] level * scheme based secure os http://fare.tunes.org/tmp/emergent/secureos.htm * schemix (R5RSscheme in the linux kernel) http://www.abstractnonsense.com/schemix/ and project page at http://savannah.nongnu.org/projects/schemix/ * using scheme in [[Kernel Space]] (most likely a unix derived one) ====racket==== * derived from mzscheme -> now [[racket language]] ====links==== * Paul Graham has collected some [[http://www.paulgraham.com/lisplinks.html|lisp links]] * https://common-lisp.net/ * [[http://planet.lisp.org/|blogs]], [[https://groups.google.com/g/comp.lang.lisp|comp.lang.lisp]], [[http://log.irc.tymoon.eu/freenode/lisp|discussions]], etc * programming languages > http://lambda.weblogs.com/ ====notes + threads to follow ==== * ASDF (def. system)+ UFFI (foreign function interface) * generators * genetic prgramming + evolving hardware (from [[John Koza]])