Rev | Author | # | Line |
---|---|---|---|
10 | GeoffCant | 1 | Common Lisp aka ANSI Standard X3J13. A popular [LISP] dialect. Most implementations compile to native code. Very few are purely interpreted or byte compiled. |
2 | |||
3 | Get started in Common Lisp with [http://www.unmutual.info/startingwithcl.html]. | ||
6 | GlynWebster | 4 | |
5 | Two unique things that make Common Lisp tempting, if you can get over the funny syntax: | ||
6 | *__The Common Lisp Object System__. Common Lisp appears to be the only language in common use that has [multiple dispatch | http://www.wikipedia.org/wiki/Multiple_dispatch]. | ||
7 | *__Macros__: with these you can create and use code generators and custom control structures with little fuss. | ||
7 | AristotlePagaltzis | 8 | |
9 | ''[Perl]6 is stealing them both. :) Although it won't likely be here for a few years yet. In fact multiple dispatch is already possible in [Perl]5, though not available natively - as always, a stroll through [CPAN] is helpful. --AristotlePagaltzis'' | ||
6 | GlynWebster | 10 | |
11 | Quote from Paul Graham's little essay ''[What Made Lisp Different | http://www.paulgraham.com/diff.html]'': | ||
12 | |||
13 | ;: ''9. The whole language always available. There is no real distinction between read-time, compile-time, and runtime. You can compile or run code while reading, read or run code while compiling, and read or compile code at runtime.'' | ||
14 | |||
15 | ;: ''Running code at read-time lets users reprogram Lisp's syntax; running code at compile-time is the basis of macros; compiling at runtime is the basis of Lisp's use as an extension language in programs like Emacs; and reading at runtime enables programs to communicate using s-expressions, an idea recently reinvented as XML.'' | ||
16 | |||
17 | !!Resources | ||
18 | * Websites | ||
19 | ** [http://www.cliki.net/index] -- Common Lisp [Wiki | WikiWikiWeb] | ||
9 | GeoffCant | 20 | ** [http://www.lispworks.com/reference/HyperSpec/Front/index.htm] -- ''The Common Lisp !HyperSpec'' (the entire CL specification) |
6 | GlynWebster | 21 | ** [http://www.alu.org/alu/home] -- Association of Lisp Users |
8 | GeoffCant | 22 | ** [http://www.common-lisp.net] -- Common Lisp sourceforge analogue |
6 | GlynWebster | 23 | * Books |
9 | GeoffCant | 24 | ** [http://www.gigamonkeys.com/book/] -- Practical Common Lisp. This is a great book for new CommonLispniks. |
6 | GlynWebster | 25 | ** [http://www.paulgraham.com/onlisp.html] -- ''On Lisp'' by Paul Graham |
26 | ** [http://psg.com/~dlamkins/sl/contents.html] -- ''Successful Lisp'' by David Lamkins | ||
27 | * Implementations | ||
8 | GeoffCant | 28 | ** Free |
29 | *** [CMUCL] -- Carnegie Mellon University Common Lisp | ||
30 | *** [SBCL] -- Steel Bank Common Lisp (favourite lisp compiler of GeoffCant) | ||
31 | *** [OpenMCL] -- Free derivative of Macintosh Common Lisp | ||
32 | ** Non-Free | ||
33 | *** [ACL] -- Franz Allegro Common Lisp | ||
34 | *** [LW] -- Xanalys Lisp Works | ||
35 | *** [Genera] -- Symbolics Open Genera | ||
36 | * Getting Started | ||
10 | GeoffCant | 37 | ** [http://www.unmutual.info/startingwithcl.html] |
9 | GeoffCant | 38 | ** Get a recentish copy of [SBCL] or [CMUCL] and CVS [SLIME] (setup as per [http://www.cliki.net/SLIME-HOWTO]) |
8 | GeoffCant | 39 | ** Do not be fooled into using [ILISP] :) |
9 | GeoffCant | 40 | ** Hop on #lisp ! |
41 | ** Start reading [http://www.gigamonkeys.com/book/] | ||
6 | GlynWebster | 42 | * IRC |
43 | ** #lisp on irc.openprojects.net | ||
8 | GeoffCant | 44 | * Usenet |
45 | ** nntp://comp.lang.lisp |
lib/blame.php:177: Warning: Invalid argument supplied for foreach()