what to do after "Touretzkey's book"?



  • 1. from generic to concrete transforming code
    I just try trying to define a generic method called ref to be applied to List, String, Hash-table and array. So that for example: defgeneric ref (x y) defmethod ref ( (x array) y) (nth x y)) defmethod ref ( (x hashtable) y) (gethash y x) ... What I would like to program is a function or a macro that takes a file with code like file1.lisp (setq h (make-hash-table :initial-element 10)) (ref h 3) and transform this into file2.lisp (setq h (make-hash-table :initial-element 10)) (gethash 3 h) that is the program has to run the lisp1 code and when it encounters the function ref it must determine the type of its arguments, select the appropriate method definition and move it to file2.lisp in order to get the new code. Is this difficult to implement? I am still a beginner in Lisp.
  • 2. compile confusion
    (eval-when (:compile-toplevel :load-toplevel :execute) (defun foo () (lambda () 'foo))) (defmacro bar () `(setf (symbol-function 'heh) ,(foo))) (bar) (load (compile-file "example.lisp") works on ccl but does not work on sbcl ( I get: Compile-time error: Objects of type FUNCTION can't be dumped into fasl files. On both sbcl and ccl (load "example.lisp") works .. meaby this is something implementation dependent, unspecified by hyperspec. I know that I can do this another way but wanted to clear things out since example works on ccl best, milan

what to do after "Touretzkey's book"?

Postby arnuld » Tue, 14 Feb 2006 02:16:13 GMT

hello everyone,

I am a newbie who is trying his brain at "Touretzky's : Common-LISP a
gentle introduction". i am on chapter-6 and untill now it is marvelous.
I call it a great work of art for newbies to programming. I say so from
my experience with more than dozen of books on introduction to
programming and majority of them used SCHEME which i never liked, some
used PYTHON and much less used PERL, JAVA and C. anyway contrary to all
of the sayings i have heard over last 12 months (during my time here) i
think Common-LISP is a great introduction to programming when
accompained with "Touretzky".

my *aim*: i want to start writing software or will join as a
*bug-fixer* in Common-LISP projects (will work with "copyleft"
softwares only). -- i want to start real-life software writing,
bug-fixing or something like it after 10 months.
so what i need to do after "Touretzky's book"?

may you provide any of the online & offline resources on this?

please have a look at these 3 points:

1.) i tried "how to design programmes" (HtDP), "Learning to Programme"
by Alan Gauld . these 2 were very *hard* books, not in the technical
sense but because i have a very different *cognitive process* as
compared to majority of newbies. right now SICP is far above my head
but i found it to be extremely different from 2 books which draw its
ideas (they are HtDP and "Concrete Abstrations" ).

2.)PAIP by Peter Norvig is already onto my list. so i can buy only one

3.)Do i need to know CLOS if i want to start with my *aim*? if yes,
then How about CLOS by Sonya Keene, OOP in Common LISP by Stephen
Slade. i do not know anything about them but have heard about them.

i will appreciate any type of help.

;;; oh! sorry, one more question:

i am also after powerfull aprogramming ideas like of SICP. do you think
i will get time to learn them, in these 10 months?

if yes, then besides SICP how about "Knuth's art of programming" and
"Introduction to algorithams by Cormen et al"?

thanks a million.


Re: what to do after "Touretzkey's book"?

Postby Ulrich Hobelmann » Tue, 14 Feb 2006 02:23:23 GMT

IIRC Touretzky covers mostly functional-style programming with lots of 
emphasis on lists and stuff like that.

For more day-to-day programming, definitely take a look at 
especially before tackling "real" projects.

I think you can always read the above three books later.  But give 
Practical Common Lisp a try; it's online for free, or go buy the 
dead-tree version.

Suffering from Gates-induced brain leakage...

Re: what to do after "Touretzkey's book"?

Postby Patrick May » Tue, 14 Feb 2006 02:47:25 GMT

"arnuld" < XXXX@XXXXX.COM > writes:

     Write to that nice Barbara Schwarz and tell her how much you
enjoyed it.



S P Engineering, Inc.    | The experts in large scale distributed OO
                         | systems design and implementation.
           XXXX@XXXXX.COM     | (C++, Java, Common Lisp, Jini, CORBA, UML)

Re: what to do after "Touretzkey's book"?

Postby Michael Wildpaner » Tue, 14 Feb 2006 06:02:00 GMT

Patrick May < XXXX@XXXXX.COM > writes:

That's an exceptionally {*filter*} advise to give. He (and c.l.l) might be
in for another un-COSy suprise ...


If you don't breathe, there is no air.          DI Michael Wildpaner
If you don't walk, there is no earth.                  Ph.D. Student
If you don't speak, there is no world.
    -- Navajo (Dineh) wisdom

Re: what to do after "Touretzkey's book"?

Postby Patrick May » Tue, 14 Feb 2006 07:41:50 GMT

Michael Wildpaner < XXXX@XXXXX.COM > writes:

     It wasn't intended to be {*filter*}.  I do hope that no one would take
it as anything other than a facetious suggestion.



S P Engineering, Inc.    | The experts in large scale distributed OO
                         | systems design and implementation.
           XXXX@XXXXX.COM     | (C++, Java, Common Lisp, Jini, CORBA, UML)

Re: what to do after "Touretzkey's book"?

Postby rpw3 » Tue, 14 Feb 2006 11:21:21 GMT

| my *aim*: i want to start writing software or will join as a
| *bug-fixer* in Common-LISP projects (will work with "copyleft"
| softwares only). ...

Just so you know, many (most?) of the Common Lisp community are not
terribly great fans of "copyleft" [e.g., GPL], but rather prefer to
use -- and write -- open-source software with the less-coercive
BSD/MIT-style licenses (or even sometimes, in those countries
supporting such a legal status, "public domain"). There are many
reasons for this -- technical [due to Lisp's dynamic compiling,
loading, & REPL'ing nature], historical, social, & legal -- so I
thought I'd let you know about it before you bumped into the issue
by accident. You are, of course, completely free to use a GPL-style
license on code you write in Lisp if you wish; I just thought you
should be alerted that doing so might affect its acceptance. At the
very least, you should do a web search on the difference between
the LGPL and the LLGPL and consider using the latter (though some
still have concerns about even that).


Rob Warnock			< XXXX@XXXXX.COM >
627 26th Avenue			<URL: http://www.**--****.com/ ;
San Mateo, CA 94403		(650)572-2607

Re: what to do after "Touretzkey's book"?

Postby arnuld » Tue, 14 Feb 2006 19:42:43 GMT

> I just thought you

i have seen your name many times on C.L.L., well what i know that
nearly all of the hackers use LISP and:

1. majority of hackers created/helped a project named GNOME which is

2. nearly all of the hackers use LINUX which is GPLed.

3. nearlt all of the softwares/tools on LINUX are GPLed.

then what do you mean by the thing  "Common-LISP community" will not
accept my software if my software is GPLed.?

does it mean "common-LISP community" is not composed of any Hackers or
hackers @ C.L.L do not like GPL?

i do not think so.

waiting for your reply.........


Re: what to do after "Touretzkey's book"?

Postby Edi Weitz » Tue, 14 Feb 2006 20:06:42 GMT

Gnome is based on X which is not GPL.

Many hackers also use FreeBSD (for example) which is not GPL.

Apache is not GPL, Perl isn't, etc.  Not even the GNU C library which
is used by almost every C program on Linux is GPL, it's LGPL.

There was a time when "Lisp community" was more or less synonymous
with "hackers:"

  < http://www.**--****.com/ ;

That's clearly what Rob said (and he spoke for the perceived majority,
not for all of c.l.l.).  Have you actually read his posting?

That doesn't change it.

You didn't really address anything of what Rob said.  Did you check
the LLGPL for example?


European Common Lisp Meeting 2006: < http://www.**--****.com/ ;

Real email: (replace (subseq " XXXX@XXXXX.COM " 5) "edi")

Re: what to do after "Touretzkey's book"?

Postby arnuld » Tue, 14 Feb 2006 21:40:45 GMT

gt; Have you actually read his posting?

of course, i read his posting. i also googled for LLGPL and found this

-- The "Lisp Lesser General Public Licence": this is a license like the
LGPL but with a prequel which defines the effect in terms more
typically used in Lisp programs. --

when i looked at what they are calling prequel, it was very-technical
and was a bit over my head.

ok i agree , i know one thing that hackers community composed of many

like MIT AI lab community from where RMS emerged, UNIX guys, ESR's part
and then BSD part which comed from University of California.

also i know that the word "Free Software" is not able to change the
software production system and persons like me were forced to use
"windows" in his entire graduation. after graduation i started using
FedoraCore, and it was available to me because of "OpenSource
revolution" which hackers and i think many of CLL people admire of, it
is good, in the sense it clears the ambiguity and ESR's CatB was a way
to change the system which was based on -- not to fight with results of
a system (like GNU) but remove the cause of that bad system -- and this
is only way to do the impossible.

i wrote so because i want to know and say the truth. i do not want to
blind myself by holding onto unchaged and conventional beliefes. and
one thing in the end: people who like GPL are the people who love
freedom, that's sure and majority of OpenSource people do not want to
talk about freedom, they want technical competence, even if it costs
lives of people like me (it happened with me that is why i am writing
this reply). the only exception i have met with is ESR - president of
OpenSource Initiative. I have read his essays and found him to be a
good man at heart.

GNU people are good and like "Open Source" people they want to change
the system but they were doing it in the wrong way, they were dealing
with the *effects* , only OpenSource dealt with the *cause*. this is
the whole point of success. In the end OpenSource is rising towards a
great future and i am sure about it. what i fear is that life of RMS
will be like of Charles Darwin who for all of his life kept on saying
that his *theories of evolution* are practically the right ones and
every scientist and every person on this planet refused his *theories*.
100 years after his death scientists came to know through their
experiments and all other stuff they do that Charles Darwin was right
and today every education system on this Earth teaches his theories and
nearly every scientist's work is based on the Charles Darwin's concepts
of evolution. talk with someone from the field of biology on "Theory of
Natural Selections" and you will hear nothing but praises for Charles
Darwin and he did not invent these theories for himself just like RMS.

I fear that RMS will be the Charles Darwin of software world.

I respect him a lot and he is only person who told me (through his
articles) that my performance was poor in my college not because i have
a poor mind but because i use poor things called proprietary softwares
and hence has a poor effect in return, use tools which give you freedom
to change things. i did so and it had a tremendous effect on my
understanding and maturity of my personal, financial and family life
ina positive way. OpenSource people say this: use this because it is
technically better, and that's it. from my experience, softwares put

Re: what to do after "Touretzkey's book"?

Postby Ulrich Hobelmann » Tue, 14 Feb 2006 22:21:07 GMT

rnuld wrote:

GPL's fans and BSD's fans have different concepts of freedom. GPL
ensures that the software stays free, i.e. in the public domain. All
changes to GPLed software that are published to the public have to be
published in source also. So it's about the freedom of the software.

The BSD (or MIT) license have a different emphasis: you can take BSD
code and do with it whatever you like, including publishing it
commercially, without source code. This is about *your* freedom.

Some people want to publish source code only if it will stay open; thus
GPL. Some people want their code to be available freely for every kind
of project out there, including commercial closed-source ones: BSD license.

The Lisp community is rather small, and contains some {*filter*}rs, so
they have a lot to gain by sharing code BSD-style, so that everybody can
use it commercially, without any restrictions. The *culture*
surrounding this code is still very open, like in GPL circles (I'd say);
only the license is different.

LPGL is a reduced GPL that means that modifications of a library have to
stay free, but an application can still use the library without problems
(even if the app is closed source).

The clause in the LGPL that determines what you have to publish and what
not is about linking. If you link your code with LGPLed code via a
library mechanism, you're good. Otherwise it's called "extending", and
you have to open your code too. In Lisp all code lives in the same
place (basically), so GPL and LGPL are almost the same. So there's the
LLGPL for people who prefer LGPL-style software.

Well, open source is about sharing effort to cut costs. Some companies
try to sell services around GPL software, so they like GPL because it
prohibits closed-source use. Other companies prefer BSD-style, because
this only means they share development costs of the code, but can
develop commercial extensions to the code and sell those. Apache is one
such example, built by lots of big companies, with a very free license.

I think RMS is quite socialist at heart. He says that ALL software
should be free, so there's the GPL to ensure that more and more software
has to be open-source.

Make your own judgement about that...

Only software is something created by people, and people need food.
Some companies have reasons to publish commercial software, and some
people have not the time to read source code, but the money to buy
excellent commercial software.

I don't think Free Software is the One Absolute Greatness, the solution
for all problems.

Sorry, but you can't blame your performance on your software's openness.
Sure, reading source code can help a lot, but you can for instance run
Windows or Mac OS, but still read GPL code (like GNOME or Linux), or BSD
code (like NetBSD). Choose the software that helps you work with your
machine. Read code that is well written, that will help you learn. In
my experience writing code teaches you much more than reading badly
written, badly documented open-source stuff, but take your own choice.

Good for you.

The social world is also important, but it's not directly linked with
the software world. I like open software, but sometimes there's
commercial software that I find technically better, and then I choose that.

Suffering from Gates-induced brain leakage...

Re: what to do after "Touretzkey's book"?

Postby Tayssir John Gabbour » Tue, 14 Feb 2006 22:45:23 GMT

I would like to clarify, as Stallman can't respond. I've discussed the
matter with him, and he's emphatically pro-capitalism. Both in public
and private correspondence. (In fact, it appears the GPL respects free
markets far more than modern copyright.)


Re: what to do after "Touretzkey's book"?

Postby Ulrich Hobelmann » Tue, 14 Feb 2006 23:15:21 GMT

Interesting!  I'll accept it, even though it's against my understanding 
of business and software.

I don't believe you can earn money with great software if it's open 
source, just because great software will install and run itself. 
There's no manual, no configuration, no consulting involved.  This is 
why I gladly paid for my Mac, and why I don't run NetBSD and Linux anymore.

RMS said that all software should be free, which I can only understand 
as that all programmers have to *somehow* be paid for writing new 
open-source stuff, or for services.

Of course the {*filter*} language C also has something to do with both 
open-source quality (usability, but also security holes etc.), and with 
the abundance of improvements that could be made and how much time 
they'd take. :)

Suffering from Gates-induced brain leakage...

Re: what to do after "Touretzkey's book"?

Postby tfb » Wed, 15 Feb 2006 00:43:49 GMT

"arnuld" < XXXX@XXXXX.COM > writes:

You were killed by Open Source?  And now you've come back?  So, what
you're saying is that you're a Free Software zombie.  Oh my god, are
we about to embark on a really nerdy version of From Dusk Til Dawn?!?!

           /|_     .-----------------------.                        
         ,'  .\  / | Free Mumia Abu-Jamal! |
     ,--'    _,'   | Abolish the racist    |
    /       /      | death penalty!        |
   (   -.  |       `-----------------------'
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               

Re: what to do after "Touretzkey's book"?

Postby Pascal Bourguignon » Wed, 15 Feb 2006 01:31:52 GMT

"arnuld" < XXXX@XXXXX.COM > writes:

Hey pal!  We are programmers! 
We don't _need_ Open Source, we can rewrite it ourself if we want!

What we need, to avoid to rewrite everything from scratch everytime,
is _Free_ software, and _Free_ hardware (ie. hardware with full
documentation), so we can modify and improve it for our customers.

Remember, what launched RMS was actually bad proprietary Xerox printer

__Pascal Bourguignon__                      http://www.**--****.com/ 

"You can tell the Lisp programmers.  They have pockets full of punch
 cards with close parentheses on them." -->  http://www.**--****.com/ 

Re: what to do after "Touretzkey's book"?

Postby Alan Crowe » Wed, 15 Feb 2006 04:25:07 GMT

Ulrich Hobelmann < XXXX@XXXXX.COM > writes:

RMS grounds his philosophy in the distinction between
rivalrous goods and non-rivalrous goods. He uses a sandwich
as an example of a rivalrous. We cannot both eat it, if I
give you my sandwich I go hungry. Emacs is the obvious
example of a non-rivalrous good - RMS gives it away but is
still able to use it himself.

Socialism does not use this distinction. Its creed includes
"From each according to his ability, to each according to
his need." If your need is greater than mine then you get
the sandwich. If my ability is greater than yours then I am
obliged to make it for you.

When people say that RMS is some kind of socialist they are
glossing over the distinction between rivalrous and
non-rivalrous goods.

This distinction is a basic distinction of orthodox economic
theory. The starting point for discussions of software
economics is to note that for private goods - those that are
rivalrous and excludable - the economically efficient price
is the marginal cost of production. Free markets have a
tendency, roughly, more or less, to price goods at their
marginal cost of production. This leads to all the
traditional debates of free-market capitalism versus
socialism about the right way to organise the production of
private goods. Should the means of production be owned
privately or held in common?

If you go down the free market route you hit a {*filter*} problem
with non-rivalrous goods. The economically efficient cost is
zero, and in the absence of excludablility, the free market
drives the price down to zero.

If you don't have copyright right law the price fails to
cover the non-recurring costs of writing software, and you
have under-production of software, which is economically

If you do have copyright law, that keeps the price up, but
now it is above the economically efficient level, leading to
under-consumption of software.

Your economy is going to be inefficient which ever way you
organise it. Having decided on free market capitalism as the
right way way to organise the world of atoms, the
non-rivalrous world of bits throws you a curve ball, and
hits you with a knotty conundrum.

Now that I've filled in the intellectual background, you are
at the point at which the arguments about copyright and the
GPL begin. I suggest having them in a different forum, not

The point that I actually want to make is that if you go
round saying the "RMS is quite socialist at heart" every-one
who has reached the starting point in this debate, which
ever side they favour, will think ill of you. Your
intellectual reputation will be ruined.

Alan Crowe

Similar Threads:

1.selling comp. book collection...including books on Ada

2.The Book of books

3.Puzzle Book & Answer Book

4.C Books and algorithm books

Questions for the major contributors to comp.lang.c.

What C  books do you have?

What C books have you read?

Which algorithm book is your favorite?

What resources that you find particularly useful, beside comp.lang.c
and its FAQ?

I ask the above questions mainly to see what I lack.  And the answer
may help other newbies as well by letting people know what "weapons"
have been proved to be useful.  I might have asked too many questions
these days, but I promise I will reduce them to less than 2 daily from
now on.

5.C Books and algorithm books [OT]

6. [OT] C Books and algorithm books

7. Sample .NET Book Chapter available and Contest to Win a Free Book

8. extending the PCL book with comments or tagging comments in comp lang ?lisp for the book

Return to lisp


Who is online

Users browsing this forum: No registered users and 60 guest