[cl-faq] example faqs

Larry Clapp larry at theclapp.org
Thu Dec 15 11:27:51 CST 2005


On Thu, Dec 15, 2005 at 10:41:43AM -0600, Benjamin Tovar wrote:
> q: Where I can find online resources to learn Lisp?
> 
> q: Which books do you recommend? (in which order should I 
> read them?)

Possible answers, ranked in rough order of difficulty:

Learning "core Lisp":

- Practical Common Lisp, by Peter Seibel
- Lisp, by Winston & Horn
- Structure and Interpretation of Computer Programs ("SICP") (Actually
  about Scheme, but useful to learn how to think in Lisp)
- ANSI Common Lisp, by Graham
- The HyperSpec, as appropriate

Learning why macros are soooo cool / Advanced Lisp:

- Structure and Interpretation of Computer Programs ("SICP") (Actually
  about Scheme, but useful to learn how to think in Lisp)
- On Lisp, by Graham
- The HyperSpec, as appropriate

Learning OOP The Lisp Way:

- Object Oriented Programming in Common Lisp, by Keene
- The Art of the Metaobject Protocol
- The HyperSpec, as appropriate

Learning Lisp Style

- Paradigms of Artificial Intelligence Programming : Case Studies in
  Common Lisp ("PAIP")

Writing a Lisp interpreter / compiler

- Lisp in Small Pieces ("LiSP")
- The HyperSpec, as appropriate

Oh, and did we mention, the HyperSpec?

> q: Interpreting vs Compiling vs Bytecode vs Machine Code. 
> What does all that mean?
> 
> q: Is it possible to generate executables? (in Linux, in the ELF
> sense?)

Ahhh, the classic FAQ!  :)

A1: The short answer: Yes

A2: Slightly longer: Sometimes, but it depends on your implementation.
See your implementation's documentation.

A3: The long answer: <detail about The Lisp Way of generating or
distributing an executable, links to various implementations'
documentation, and why you might not actually need what you think you
want (for example, Perl survives pretty well without executables
(though Perl, like Lisp, has ways around that, too; we shouldn't
provide mis-information about other languages while we try to combat
mis-information about Lisp.))>

> q: There C, C++ library I need has not been ported to Lisp. 
> What should I do? 
> (cffi, verrazano stuff)
> 
> q: I am a developer. I hear about some complications with 
> licensing. Should I release my code under GPL, LGPL, BSD, 
> LLGP?
> (said LGPL is focused on C-like linking and stuff, and it is not
> clear yet what does that mean in Lisp)
> 
> I think we should have a section about Lisp myths (good and bad
> ones... :)). If done right, this could help market the language. One
> example of this is de KDE Myth Buster:
> 
> http://kdemyths.urbanlizard.com/

All good questions.  I might also add

q: various "times" -- read time, compile time, macro-expand time,
"compile time too" (mentioned in the HyperSpec), run time -- when do
they happen (i.e. what causes "read time"?  Can anything other than
(READ) cause "read time"?), what happens during these times, and maybe
how can I keep them from happening?

q: packages, symbols, export, import -- what's it all mean?

a: <short summary; link to Ron Garret's document>

q: Lisp modules?  You mean packages, right?

a: No, not exactly.  <more detail>

-- Larry

p.s. Peter, did you want to do reply-to munging on this list, too?



More information about the cl-faq mailing list