Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How To Learn Lisp

27 views
Skip to first unread message

Carlo Capocasa

unread,
Sep 18, 2007, 1:44:05 PM9/18/07
to
A quick discussion in the previous 'Learning Lisp from Scratch'
thread lead me to spontaneously write a short article for newbies on
how to get started with lisp less painfully.

Feedback appreciated!

--

HOW TO LEARN LISP

Step 1: When you see Emacs, turn around and run

I'm new to this fantastic new language called lisp(1), and I decided
the best person to teach someone new is someone new. Only someone
new can truly understand the unique challanges of being new. To a
young man fresh in the dating game, the advice of a happily married
elder to treat a woman with care, affection and respect will
probably yield a lot of awquard situations until he has overcome his
fear of rejection, while his friend yelling "You got to put the
MOOOOOOVES on those honeys!" might help him to do just that. Before
I can go on to uncover some of the miracles our elders have promised
me lie to be discovered in Lisp, I need to overcome a few very
practical obstacles that have absolutely nothing to do with the Way
of Lisp; but overcoming them will expose me to the Way of Lisp, and
I'm sure that will be worth the trouble. Writing this, I'd like to
bring some of you along.

An Integrated Development environment is a program that you can fire
up and start doing something useful with a new language immediately.
Lisp has one of those, and it's called 'Slime'. (Charming, isn't
it?). Unfortunately, it's built on a beast of a text editor called
Emacs which is supposed to be all-powerful. I wouldn't doubt it is
extremely versatile and useful, because it has evolved through years
of being used for hard-core hacking; loads and loads of the most
valuable Software today must have been created with it. Each and
every one of us undoubtedly owe a great debt to Emacs.
Unfortunately, that doesn't make it any easier to learn to use when
you've grown up with the heavily GUI-laden OSes of the 90s and 00s.
So you're going to learn to use an obscure text-editor that follows
70s UNIX paradigms rather than 90s Desktop paradigms at the same
time as you're learning an obscure programming language? There's got
to be a better way to do this.

My approach in learning LISP has been simpler than inheriting all
the baggage at once. It is not about cloning what our elders are
doing now, but developing from our own situation just like they did
when they were young.

As for starting to work with LISP, I suggest you simply download one
of the distributions without any IDE attached to it. I used Steel
Bank Common Lisp because it felt fresh to me. Be sure to download
the binary version, unpack it somewhere, and open its executable in
a terminal. This will give you a Lisp prompt where you can start
typing in what you will be learning in all the tutorials that have
to do with the language itself, and finding out what you typed returns.

When you've done a little typing, you can start opening a text
editor you're comfortable with, and saving it to "something.lisp" in
the same directory you started Lisp executable from. You can then
load what you wrote into Lisp by typing (load "something.lisp").

For your pure pleasure, you can even compile something.lisp into an
executable. With SBCL, this is what to paste into your terminal:

(require 'asdf)
(require :sb-executable)
(compile-file "something")
(sb-executable:make-executable "something" "something.fasl")

Of course, it is always a good idea to let the first something you
compile be a file containing this:

(format t "Hello, World!~%")

Now that you can play with real code, you're ready to start learning
the language.

I would recommend starting with this book:

http://franz.com/support/documentation/6.2/ansicl/ansicl.htm

Carlo Capocasa

unread,
Sep 18, 2007, 1:46:12 PM9/18/07
to
These footnotes should be added:

(1) Like all fantastic new things, Lisp has been around for a long time.

rev. 0.01

Rainer Joswig

unread,
Sep 18, 2007, 2:16:06 PM9/18/07
to
In article <fcp2p7$gpb$1...@registered.motzarella.org>,
Carlo Capocasa <the...@carlocapocasa.com> wrote:

> Step 1: When you see Emacs, turn around and run

There are better IDEs for less painful learning Common Lisp. For
example the LispWorks Personal Edition or the
Express Edition of Allegro CL. MCL is the best for
learning. It is much easier to use than the others.
Unfortunately it only runs on PowerPC Macs.
Corman Lisp has also an easier to use IDE than SLIME.

> I would recommend starting with this book:
>
> http://franz.com/support/documentation/6.2/ansicl/ansicl.htm

I wouldn't recommend that for learning. It is certainly
useful to consult it while learning. For learning
programming in Common Lisp, I would recommend Peter
Seibel's book 'Practical Common Lisp'.

Here is a newer link for above reference:

http://franz.com/support/documentation/8.1/ansicl/ansicl.htm

Here is the link to the table of contents for the
full Allegro CL documentation:

http://franz.com/support/documentation/8.1/doc/contents.htm

--
http://lispm.dyndns.org

Carlo Capocasa

unread,
Sep 18, 2007, 2:33:15 PM9/18/07
to

>> Step 1: When you see Emacs, turn around and run
>
> There are better IDEs for less painful learning Common Lisp. For
> example the LispWorks Personal Edition or the
> Express Edition of Allegro CL. MCL is the best for
> learning. It is much easier to use than the others.
> Unfortunately it only runs on PowerPC Macs.
> Corman Lisp has also an easier to use IDE than SLIME.

I'm sure they're at what they do... Hm, but I didn't mention 'Free
Software' and 'Cross Platform'. These things are extremely important
to me in chosing a development platform in order to avoid growing an
overly limiting dependency.

> I wouldn't recommend that for learning. It is certainly
> useful to consult it while learning. For learning
> programming in Common Lisp, I would recommend Peter
> Seibel's book 'Practical Common Lisp'.

I think that's a great book too. Hm, probably for learning the best
approach is not to learn by a book but by a goal: "I want to write a
small program that does x." then consult any number of books while
learning.

> http://franz.com/support/documentation/8.1/ansicl/ansicl.htm

Thanks!

Pascal Costanza

unread,
Sep 18, 2007, 2:46:48 PM9/18/07
to
Carlo Capocasa wrote:
>>> Step 1: When you see Emacs, turn around and run
>> There are better IDEs for less painful learning Common Lisp. For
>> example the LispWorks Personal Edition or the
>> Express Edition of Allegro CL. MCL is the best for
>> learning. It is much easier to use than the others.
>> Unfortunately it only runs on PowerPC Macs.
>> Corman Lisp has also an easier to use IDE than SLIME.
>
> I'm sure they're at what they do... Hm, but I didn't mention 'Free
> Software' and 'Cross Platform'. These things are extremely important
> to me in chosing a development platform in order to avoid growing an
> overly limiting dependency.

It's very clear that you don't know what you're talking about.

ANSI Common Lisp is a very good standard that all major CL
implementations try to support as good as they can. Deviations from the
standard are typically punished harshly by users, that's why vendors
don't dare to deviate.

The danger of getting dependent on a single implementation is very low,
especially at the learning stages.


Pascal

--
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/

Rainer Joswig

unread,
Sep 18, 2007, 3:25:01 PM9/18/07
to
In article <fcp5lc$qq4$1...@registered.motzarella.org>,
Carlo Capocasa <the...@carlocapocasa.com> wrote:

> >> Step 1: When you see Emacs, turn around and run
> >
> > There are better IDEs for less painful learning Common Lisp. For
> > example the LispWorks Personal Edition or the
> > Express Edition of Allegro CL. MCL is the best for
> > learning. It is much easier to use than the others.
> > Unfortunately it only runs on PowerPC Macs.
> > Corman Lisp has also an easier to use IDE than SLIME.
>
> I'm sure they're at what they do... Hm, but I didn't mention 'Free
> Software' and 'Cross Platform'. These things are extremely important
> to me in chosing a development platform in order to avoid growing an
> overly limiting dependency.

ACL and LispWorks are cross-platform. I usually try to
use the best tool for learning. The best tool is not
necessarily the one that costs less or is 'free'.

I don't know any EASY to use ROBUST IDE (integrated
development environment) for Lisp that is also free.
Maybe some readers' here have some advice. The emphasis
is on EASY to use. I mean EASY. Not Emacs/SLIME.

> > I wouldn't recommend that for learning. It is certainly
> > useful to consult it while learning. For learning
> > programming in Common Lisp, I would recommend Peter
> > Seibel's book 'Practical Common Lisp'.
>
> I think that's a great book too. Hm, probably for learning the best
> approach is not to learn by a book but by a goal: "I want to write a
> small program that does x." then consult any number of books while
> learning.

That's a very good approach. I would say that one should
really read some of the basic books from start to end
and try the examples at the same time. Once one has
a basic overview of the language, a small program
is exactly the best way to learn how to apply
what one has learned. While writing that small
program one will consult some books and the reference.

The best way (IMHO) to learn something is to really
try things out and apply the language to some programming
tasks. One can theoretically read about riding a bicycle,
but you need practical experience (also making mistakes
and learning from mistakes) to real be able to use the
bicycle. Programming is not different from that. Lisp
programming in the REPL (read eval print loop) is very
similar. It is like riding a bike. Once you have learned
it, you will have learned something basic. The REPL
has a very direct feel. There is little between you and
the programs you write. Everything you type
can be tried out immediately. All of Lisp can be typed
to the REPL.

>
> > http://franz.com/support/documentation/8.1/ansicl/ansicl.htm
>
> Thanks!

--
http://lispm.dyndns.org

philip....@gmail.com

unread,
Sep 18, 2007, 3:32:57 PM9/18/07
to
On Sep 18, 8:25 pm, Rainer Joswig <jos...@lisp.de> wrote:

> I don't know any EASY to use ROBUST IDE (integrated
> development environment) for Lisp that is also free.
> Maybe some readers' here have some advice. The emphasis
> is on EASY to use. I mean EASY. Not Emacs/SLIME.

ABLE (http://phil.nullable.eu/) is EASY and FREE but I can't honestly
say it's totally robust yet, especially on Windows. I mean I use it
for all of my Lisp programming including writing ABLE since day 1 but
it has a way to go before 1.0. But some people like it so I guess it
depends on what you're after.

--
Phil
http://phil.nullable.eu/

Carlo Capocasa

unread,
Sep 18, 2007, 3:33:11 PM9/18/07
to

> It's very clear that you don't know what you're talking about.

Unless you look again.

> The danger of getting dependent on a single implementation is very low,
> especially at the learning stages.

I'm not talking about getting dependant on the implementation, I'm
talking about getting dependant on the IDE.

regards,

Carlo

philip....@gmail.com

unread,
Sep 18, 2007, 3:37:30 PM9/18/07
to

I think getting dependent on an IDE isn't something to worry about,
especially if it's free software like Emacs/Slime which isn't likely
to go anywhere.

The people who swear by Slime do so because they find it fits
perfectly with Common Lisp programming. Getting dependent on something
that works so well is surely a good thing!

--
Phil
http://phil.nullable.eu/

Rainer Joswig

unread,
Sep 18, 2007, 3:40:31 PM9/18/07
to
In article <1190144250.9...@19g2000hsx.googlegroups.com>,
philip....@gmail.com wrote:

(asbestos suit on)

SLIME/Emacs is certainly useful. But, unfortunately, it is not
a good development environment for Common Lisp. Especially
not for beginners and not for advanced users.


>
> --
> Phil
> http://phil.nullable.eu/

--
http://lispm.dyndns.org

philip....@gmail.com

unread,
Sep 18, 2007, 3:52:02 PM9/18/07
to
On Sep 18, 8:40 pm, Rainer Joswig <jos...@lisp.de> wrote:

> (asbestos suit on)
>
> SLIME/Emacs is certainly useful. But, unfortunately, it is not
> a good development environment for Common Lisp. Especially
> not for beginners and not for advanced users.

In my years I've never got along with Emacs but I think this is more
my lack of mental capacity than anything else. I think there are good
choices these days for new Lispers who want a more gentle
introduction. I'll certainly keep plugging away at mine in spare
hours.

--
Phil
http://phil.nullable.eu/

Carlo Capocasa

unread,
Sep 18, 2007, 4:00:53 PM9/18/07
to

> (asbestos suit on)
>
> SLIME/Emacs is certainly useful. But, unfortunately, it is not
> a good development environment for Common Lisp. Especially
> not for beginners and not for advanced users.

LMAO!!!!!

LMAOOOOO!!!!

Carlo Capocasa

unread,
Sep 18, 2007, 4:38:17 PM9/18/07
to
> ACL and LispWorks are cross-platform. I usually try to
> use the best tool for learning. The best tool is not
> necessarily the one that costs less or is 'free'.

It's a matter of what you perceive to be 'good': My experience with
commercial software of all kinds is that it tries to prevent you
from shooting yourself in the foot. That has a price: Sometimes you
want to do dangerous things, and in my experience, 'Free Software'
(as in Free Speech) does that. Of course, that it doesn't cost
anything makes it easier for me to use it to get rich with a web
startup.

> I don't know any EASY to use ROBUST IDE (integrated
> development environment) for Lisp that is also free.
> Maybe some readers' here have some advice. The emphasis
> is on EASY to use. I mean EASY. Not Emacs/SLIME.

Well, I suppose that *could* change over time... It will if I have
any say in it, which means: Will it be important enough to do that
as part as what I do for a living?

>> I think that's a great book too. Hm, probably for learning the best
>> approach is not to learn by a book but by a goal: "I want to write a
>> small program that does x." then consult any number of books while
>> learning.
>
> That's a very good approach. I would say that one should
> really read some of the basic books from start to end
> and try the examples at the same time. Once one has
> a basic overview of the language, a small program
> is exactly the best way to learn how to apply
> what one has learned. While writing that small
> program one will consult some books and the reference.

Thanks! Yeah that's exactly what I did. I'll never have to worry
about having to manually open my SFTP transferred files again.

Frank Goenninger DG1SBG

unread,
Sep 18, 2007, 4:55:57 PM9/18/07
to
Rainer Joswig <jos...@lisp.de> writes:

> (asbestos suit on)
>
> SLIME/Emacs is certainly useful. But, unfortunately, it is not
> a good development environment for Common Lisp. Especially
> not for beginners and not for advanced users.
>
> --

> http://lispm.dyndns.org

Ooookkaayyyy, Rainer - you asked for it ;-)

While I normally can resist to post in such threads I am genuinely
interested in getting to know why you, as a very experienced Lisp
programmer, think Emacs + Slime is *not* a good IDE for Common Lisp.

Your statements seems to suggest that you are not using Emacs and
Slime, or do you?

What is it actually that makes that combo inferior to some other IDE?

Thanks ...

Frank

--

Frank Goenninger

frgo(at)mac(dot)com

"Don't ask me! I haven't been reading comp.lang.lisp long enough to
really know ..."

Matthias Buelow

unread,
Sep 18, 2007, 5:16:05 PM9/18/07
to
Carlo Capocasa wrote:

> My experience with
> commercial software of all kinds is that it tries to prevent you
> from shooting yourself in the foot.

Maybe because "shooting yourself in the foot" = "dissatisfied customer".
Although I don't quite understand how this is pertaining to programming
languages. Generally speaking, you can shoot yourself in the foot as
much or as little with a commercial Lisp implementation as with a free
one, same for a commercial C compiler or a free one.

David Trudgett

unread,
Sep 18, 2007, 5:57:44 PM9/18/07
to
Rainer Joswig <jos...@lisp.de> writes:

> In article <fcp5lc$qq4$1...@registered.motzarella.org>,
> Carlo Capocasa <the...@carlocapocasa.com> wrote:
>
>> >> Step 1: When you see Emacs, turn around and run
>> >
>> > There are better IDEs for less painful learning Common Lisp. For
>> > example the LispWorks Personal Edition or the
>> > Express Edition of Allegro CL. MCL is the best for
>> > learning. It is much easier to use than the others.
>> > Unfortunately it only runs on PowerPC Macs.
>> > Corman Lisp has also an easier to use IDE than SLIME.
>>
>> I'm sure they're at what they do... Hm, but I didn't mention 'Free
>> Software' and 'Cross Platform'. These things are extremely important
>> to me in chosing a development platform in order to avoid growing an
>> overly limiting dependency.
>
> ACL and LispWorks are cross-platform. I usually try to
> use the best tool for learning. The best tool is not
> necessarily the one that costs less or is 'free'.

Rainer, you know very well that when Carlo said he is a strong
believer in Open Source and is looking for Free Software, that he
wasn't talking about price. Why are you being deliberately obtuse?

Regards,
David Trudgett


--
These are not the droids you are looking for. Move along.

Thomas A. Russ

unread,
Sep 18, 2007, 4:47:52 PM9/18/07
to
Carlo Capocasa <the...@carlocapocasa.com> writes:

> My experience with
> commercial software of all kinds is that it tries to prevent you
> from shooting yourself in the foot. That has a price: Sometimes you
> want to do dangerous things, and in my experience, 'Free Software'
> (as in Free Speech) does that.

Well, at least Common Lisp doesn't have THAT problem. Lisp never tries
to prevent you from shooting yourself in the foot. Now, mind you, it
usually doesn't make it particularly easy, but it is always possible.
Especially with destructive operations.

--
Thomas A. Russ, USC/Information Sciences Institute

Thomas A. Russ

unread,
Sep 18, 2007, 4:43:59 PM9/18/07
to
Carlo Capocasa <the...@carlocapocasa.com> writes:

> >> Step 1: When you see Emacs, turn around and run
> >
> > There are better IDEs for less painful learning Common Lisp. For
> > example the LispWorks Personal Edition or the
> > Express Edition of Allegro CL. MCL is the best for
> > learning. It is much easier to use than the others.
> > Unfortunately it only runs on PowerPC Macs.
> > Corman Lisp has also an easier to use IDE than SLIME.
>
> I'm sure they're at what they do... Hm, but I didn't mention 'Free
> Software' and 'Cross Platform'. These things are extremely important
> to me in chosing a development platform in order to avoid growing an
> overly limiting dependency.

Oh, come on now.

Are you just trying to keep raising objections instead of actually
trying this?

If you really want free and cross-platform then go with Emacs. It's
free and cross-platform. But you don't seem to like that answer. It
does have the advantage that you won't develop a dependency on it
because you don't like Emacs. ;)

LispWorks is cross-platform (Linux, Mac, Windows) and has a free
personal edition. Allegro (from Franz) is also cross-platform and also
has a free trial version.

Someone else mentioned Eclipse as a possibility, but that still ties
you to a particular IDE.

Lots of people have tried to give you reasonable and specific advice,
but you seem intent on disregarding it.

Rainer Joswig

unread,
Sep 18, 2007, 6:08:53 PM9/18/07
to
In article <lz1wcvd...@de.goenninger.net>,

Frank Goenninger DG1SBG <dont-e...@nomail.org> wrote:

> Rainer Joswig <jos...@lisp.de> writes:
>
> > (asbestos suit on)
> >
> > SLIME/Emacs is certainly useful. But, unfortunately, it is not
> > a good development environment for Common Lisp. Especially
> > not for beginners and not for advanced users.
> >
> > --
> > http://lispm.dyndns.org
>
> Ooookkaayyyy, Rainer - you asked for it ;-)

I know, I know. ;-)

Opinion rant follows (using Aquamas/SLIME).

>
> While I normally can resist to post in such threads I am genuinely
> interested in getting to know why you, as a very experienced Lisp
> programmer, think Emacs + Slime is *not* a good IDE for Common Lisp.
>
> Your statements seems to suggest that you are not using Emacs and
> Slime, or do you?

(asbestos suit on, again)

I do and I hate it.

When I want to start some more intense coding session,
I somehow don't use SLIME/Emacs. LispWorks is much better.
If MCL would run on an Intel Mac, I'd use that.
If things are set up (I currently don't have a Lisp Machine
around), I use Genera.

SLIME/Emacs simply annoys me big time.

SLIME/Emacs does all kinds of subtle things to keep me away
from entering the state of flow. If I'm about to be in that
state, then some buffer pops up somewhere which I don't want
to see and which I have to close. Not once, all the time.
I often use two buffers in a frame. Emacs manages always
to display something in the other part of the window,
which won't go away. The I go hunting for obscure
configuration variables. It's all there, but it is two
orders of magnitude too much.

> What is it actually that makes that combo inferior to some other IDE?

SLIME/Emacs is a usability nightmare. It is the Pearl
Harbor of usability. It is two orders of magnitude
more complicated than it needs to be.

* You get an extremely baroque editor written in an ancient
dialect of Lisp. Still you can't type an opening parentheses
in a comment on the first column - if you do the editor is confused.
It does code highlighting, but only if your Lisp code/data is short.
If it is longer, it is confused.
The preference system is annoying. Totally annoying.
About 95% of the options and commands one will
never need for Lisp programming. The stuff stands in the way.
Most of the time.

Once can fix some problems with customization, but then
you have to deal with the basic software architecture
of Emacs - which is doing both too much and too little.

Sure you can tunnel stuff through SSL and interact with
a dozen Lisps at the same. But then you start to get
insane.

* You get SLIME, a piece of software which is at the
center of what I do: using the Lisp system. Yet it
does not have regular releases and people seem
to break the code in the repository all the time.

* The basic commands of SLIME and how they are set up
somehow try to fit into the philosophy of Emacs.
Which is a general purpose text editor, but not a Lisp
IDE.

I mean, see the basic evaluation commands for SLIME:

Evaluation commands:
C-M-x - Evaluate top-level from containing point.
C-x C-e - Evaluate sexp before point.
C-c C-p - Evaluate sexp before point, pretty-print result.

I mean, that is a cruel joke, right? Developed
by some company who profits from RSI victims?

But where does it display the results? In the most
useless place, the minibuffer. Can you reuse
it in the listener? Nope. *? No +? No. A cruel joke.

Ah! it even annoys me while I type this. I have
c-h m in the top half. I have the SLIME repl
in the lower half. I do 'Find File' and it always
removes the slime REPL and shows the file in the lower
half. Then I have to juggle around with the buffers
again.

If you had a good keyboard, then you could bind
some of the commands in a better way.
http://lispm.dyndns.org/lisp/pics/102-0227_IMG.JPG
But in real life you have a developer typing
with a shitty PC layout keyboard, keeping him
from being productive. Sure there are F1 to F19.
But it means nothing.

If I'm in Zmacs and I want to try out some stuff,
I press SUSPEND, I get a mouse sensitive REPL.
I can simply point with the mouse on the code
in the editor and with a click it gets inserted
and executed. When I'm done, I press RESUME
and the type-out REPL is gone and I have
my nice full screen editor back. Simple as that.

When I'm in FRED (MCL's Editor) I press ENTER
and the code gets queued to the top-most listener.
*? +? You bet!

* All the advanced Lisp stuff is slighty broken.
Like the mouse-copy feature. It is there, but it
is slightly confused. It especially interacts
badly with other ugly usability quirks. Ever noticed
that the cursor is always visible? You can't scroll
down with the the scrollbar a file without (!) moving the cursor.
Which makes it hard to click on something somewhere
else in the buffer and have it inserted at the current
point - unless it is visible.

* SLIME REPL mode. Right click. Basic buffer menu.
Okay, the SLIME evaluation commands are not on the top of the
context menu. But they are on the next level? Wroong!
They are in the fourth menu. No kidding. You thought
Common Lisp evaluation is the most basic thing in a REPL?
Obviously not in SLIME.

>
> Thanks ...
>
> Frank

--
http://lispm.dyndns.org

Rainer Joswig

unread,
Sep 18, 2007, 6:10:58 PM9/18/07
to
In article <uk5qnt...@yahoo.com>,
David Trudgett <dtru...@yahoo.com> wrote:

I mentioned 'free'? Did you see that? Last word in the paragraph.

>
> Regards,
> David Trudgett

--
http://lispm.dyndns.org

Carlo Capocasa

unread,
Sep 18, 2007, 8:03:25 PM9/18/07
to

> SLIME/Emacs is a usability nightmare. It is the Pearl
> Harbor of usability. It is two orders of magnitude
> more complicated than it needs to be.

Not to mention that you get a free ride into Richard Stallman's
childhood neurosi through the built-in 'Emacs Psychoanalist'.

Carlo Capocasa

unread,
Sep 18, 2007, 8:10:09 PM9/18/07
to

> Maybe because "shooting yourself in the foot" = "dissatisfied customer".
> Although I don't quite understand how this is pertaining to programming
> languages. Generally speaking, you can shoot yourself in the foot as
> much or as little with a commercial Lisp implementation as with a free
> one, same for a commercial C compiler or a free one.

Sure you can keep your customer safe by telling him there are places
he cannot go. But, usually, I enjoy being a little less safe but a
little more free. Which is why... well, you know the rest of the drill.

Tim X

unread,
Sep 18, 2007, 9:45:28 PM9/18/07
to
Carlo Capocasa <the...@carlocapocasa.com> writes:

> A quick discussion in the previous 'Learning Lisp from Scratch'
> thread lead me to spontaneously write a short article for newbies on
> how to get started with lisp less painfully.
>
> Feedback appreciated!
>
> --
>
> HOW TO LEARN LISP
>
> Step 1: When you see Emacs, turn around and run
>

Extremely poor advice which I think is based on FUD rather than anything else.

> I'm new to this fantastic new language called lisp(1), and I decided
> the best person to teach someone new is someone new. Only someone
> new can truly understand the unique challanges of being new. To a
> young man fresh in the dating game, the advice of a happily married
> elder to treat a woman with care, affection and respect will
> probably yield a lot of awquard situations until he has overcome his
> fear of rejection, while his friend yelling "You got to put the
> MOOOOOOVES on those honeys!" might help him to do just that. Before
> I can go on to uncover some of the miracles our elders have promised
> me lie to be discovered in Lisp, I need to overcome a few very
> practical obstacles that have absolutely nothing to do with the Way
> of Lisp; but overcoming them will expose me to the Way of Lisp, and
> I'm sure that will be worth the trouble. Writing this, I'd like to
> bring some of you along.
>

More poor advice IMO. Essentially your saying you should ignore the advice
of people who have already gone through the pain. While its all too true
that the young, through a combination of impatience and arrogance, are
destined to repeat the mistakes of those who have already been through the
process, thats not the same as telling them to actively ignore what more
experienced people have to say. Not all young men found treating women
appropriately an impediment to their dating nor did they find it created
any more awkward situations than putting 'MOOOOOOVES on those honeys!' that
resulted in either a slap or a drink in the face.

> An Integrated Development environment is a program that you can fire
> up and start doing something useful with a new language immediately.

Since when is that a definition of an IDE?

> Lisp has one of those, and it's called 'Slime'. (Charming, isn't
> it?). Unfortunately, it's built on a beast of a text editor called
> Emacs which is supposed to be all-powerful. I wouldn't doubt it is
> extremely versatile and useful, because it has evolved through years
> of being used for hard-core hacking; loads and loads of the most
> valuable Software today must have been created with it. Each and
> every one of us undoubtedly owe a great debt to Emacs.
> Unfortunately, that doesn't make it any easier to learn to use when
> you've grown up with the heavily GUI-laden OSes of the 90s and 00s.
> So you're going to learn to use an obscure text-editor that follows
> 70s UNIX paradigms rather than 90s Desktop paradigms at the same
> time as you're learning an obscure programming language? There's got
> to be a better way to do this.

this is just ignorant rubbish Have you actually tried using Emacs for more
than 5 minutes or are you basing this on the FUD you have heard about the
editor? Tell me what features are available in any of the GUI editors you
claim new users are accustomed to that is not in emacs? Lets just consider what you get in a current emacs -

- Menu bar with all the normal menu entries you get in GUI editors
- Tool bar that you get in GUI editors
- Full mouse support, essential for GUI uses who have never mastered a
keyboard
- Support for various coding systems
- Support for displaying graphics, such as tiff, gif, png, jpeg etc
- support for sound

I guess the nightmare learning curve you imply that makes it such a beast
must be because you need to learn some weird incantation or key binding in
order to use the editor - lets see

Maybe you need to be in some special mode in order to enter text? No, its
not VI

Maybe you need to know weird unfamiliar key bindings in order to cut and
paste text? No, you can just use the mouse and transient mark mode (and
option in the options window and if you like the CUA type key bindings for
cut, copy and paste, you can choose that from the options window as well
while your there).

Maybe you need weird key bindings to move around in the buffer? No, arrow
keys work as expected, mouse works as expected.

Maybe you need to know obscure or weird commands to do find and replace?
No, its there in the menu too.

Maybe you need to know weird and obscure commands to enter newlines,
indent, get line wrapping etc. No, basic editing works as
expected. Automatic line breaking etc, can be turned on from the options
menu, along with most other things someone new to emacs may want
initially.

Maybe the problem is that you need to learn elisp in order to configure the
editor before you can use it? No, basic editor functionality generally
works 'out of the box'. Even if it didn't, the vast majority of
configuration can be done via customize (available from the menus) and
supporting radio buttons, check boxes, menus etc. No need to know elisp.

I'm not saying that emacs can't be large, complex and require significant
effort to learn to use it to its fullest. It is a very powerful editor and
as is common with powerful things, they can get complex when you want to
take advantage of that power. However, nobody says you have to take
advantage of it or that you need to have all this knowledge before you can
use it as a basic editor.

Any IDE involves a learning curve (BTW, your setup is definetly not an
IDE). The learning curve for basic emacs operation is no worse than any
other editor. The learning curve for becoming an advanced emacs user is
certainly steep, but the learning curve to be come an advnaced user of any
system is usually steep and there is a big difference between being and
advanced user and a basic user. There is some learning involved in getting
to use SLIME with emacs, but all the basic functionality is available from
menus. Bottom line, emacs learning curve can be what you want - steep or
gentle, done all at once or over an extended period. Basically, its just a
normal editor with a lot of optional bells and whistles - how quickly or
soon you want to start learning how to use those bells and whistles is up
to the individual user.

>
> My approach in learning LISP has been simpler than inheriting all
> the baggage at once. It is not about cloning what our elders are
> doing now, but developing from our own situation just like they did
> when they were young.

Why do you asume thats how we did it? Why discount the developments and
improvements that have happened to make things easier? Why assume there is
all this baggage?

I personally don't have an issue with how you have gone about
things. However, I get the impression you have made decissions based on FUD
rather than on any real information. It seems like you had heard others say
emacs was hard, that slime was difficult to learn and that getting to grips
with a lisp IDE was complex and therefore made the decision not to look at
it for fear it would distract you from what you wanted to do - play with
CL. If this is the case, it is unfortunate you have been misled in this
way. However, it is unacceptable to potentially allow others to be
similarly misled without some attempt to highlight some of these
misconceptions.

Tim

--
tcross (at) rapttech dot com dot au

Geoff Wozniak

unread,
Sep 18, 2007, 9:59:24 PM9/18/07
to
On Sep 18, 4:38 pm, Carlo Capocasa <the...@carlocapocasa.com> wrote:
> It's a matter of what you perceive to be 'good': My experience with
> commercial software of all kinds is that it tries to prevent you
> from shooting yourself in the foot. That has a price: Sometimes you
> want to do dangerous things, and in my experience, 'Free Software'
> (as in Free Speech) does that.

I've successfully shot myself in the foot with Allegro CL's IDE,
LispWorks' IDE and Slime. Well, maybe I just dropped a bowling ball,
but in any case, my foot was injured. But at least the Allegro and
LispWorks ones looked prettier when they did it.

Frank Goenninger DG1SBG

unread,
Sep 19, 2007, 5:21:58 AM9/19/07
to
Rainer Joswig <jos...@lisp.de> writes:

>
> Opinion rant follows (using Aquamas/SLIME).

It's only fair now to respond to your post, so see comments below...

>
>>
>> While I normally can resist to post in such threads I am genuinely
>> interested in getting to know why you, as a very experienced Lisp
>> programmer, think Emacs + Slime is *not* a good IDE for Common Lisp.
>>
>> Your statements seems to suggest that you are not using Emacs and
>> Slime, or do you?
>
> (asbestos suit on, again)
>
> I do and I hate it.

Now that was an important point to make clear, really. For the record:
So the statements below are from someone who /knows/ from hard experience...

>
> When I want to start some more intense coding session,
> I somehow don't use SLIME/Emacs. LispWorks is much better.
> If MCL would run on an Intel Mac, I'd use that.
> If things are set up (I currently don't have a Lisp Machine
> around), I use Genera.

If Allegro CL had an IDE on Intel Mac, I'd buy that. My lease license
just has ended and I decided *not* to renew it. ACL is a decent
implementation but the lacking of the IDE for Macs is just no more
tolerable. The IDE is there for Linux, Windows.

>
> SLIME/Emacs simply annoys me big time.

And that's true for me also, especially during the last three months...

>
> SLIME/Emacs does all kinds of subtle things to keep me away
> from entering the state of flow. If I'm about to be in that
> state, then some buffer pops up somewhere which I don't want
> to see and which I have to close. Not once, all the time.

Yup. Annoying.

> I often use two buffers in a frame. Emacs manages always
> to display something in the other part of the window,
> which won't go away. The I go hunting for obscure
> configuration variables. It's all there, but it is two
> orders of magnitude too much.

It took me months to get my current setup running. Now, I can use
it. This doesn't mean that it's perfect - because, as you say:

>
>> What is it actually that makes that combo inferior to some other IDE?
>
> SLIME/Emacs is a usability nightmare. It is the Pearl
> Harbor of usability. It is two orders of magnitude
> more complicated than it needs to be.
>
> * You get an extremely baroque editor written in an ancient
> dialect of Lisp. Still you can't type an opening parentheses
> in a comment on the first column - if you do the editor is
> confused.

;-) Actually it does not allow to type a closing parentheses - you
have to type C-q ) to get it.

> It does code highlighting, but only if your Lisp code/data is short.
> If it is longer, it is confused.

That I can't confirm. But, hey, my code is small so far.

> The preference system is annoying. Totally annoying.
> About 95% of the options and commands one will
> never need for Lisp programming. The stuff stands in the way.
> Most of the time.

Yes. Looked at it - found it to be too weird - closed it. Never looked
back at it again. The 60 or so variables and function calls I need to
set up Emacs/Slime for me are in my own startup file.

>
> Once can fix some problems with customization, but then
> you have to deal with the basic software architecture
> of Emacs - which is doing both too much and too little.
>
> Sure you can tunnel stuff through SSL and interact with
> a dozen Lisps at the same. But then you start to get
> insane.
>
> * You get SLIME, a piece of software which is at the
> center of what I do: using the Lisp system. Yet it
> does not have regular releases and people seem
> to break the code in the repository all the time.

Oh yes. I made the mistake to go ahead with CVS changes. Slowly Slime
is stabilizing again ... MAJOR annoyance!

>
> * The basic commands of SLIME and how they are set up
> somehow try to fit into the philosophy of Emacs.
> Which is a general purpose text editor, but not a Lisp
> IDE.
>
> I mean, see the basic evaluation commands for SLIME:
>
> Evaluation commands:
> C-M-x - Evaluate top-level from containing point.
> C-x C-e - Evaluate sexp before point.
> C-c C-p - Evaluate sexp before point, pretty-print result.
>
> I mean, that is a cruel joke, right? Developed
> by some company who profits from RSI victims?

Hehe - yes. Carpal Tunnel Syndrome, actually.

>
> But where does it display the results? In the most
> useless place, the minibuffer. Can you reuse
> it in the listener? Nope. *? No +? No. A cruel joke.

It actually gets in the way with the underlying implementation's REPL
variables: In ACL, when I fire up the raw Lisp implementation, I can
type

CL-User> :processes

and I get a list of currently running "processes". When in Slime I
get just :PROCESSES as a result. Made me write a small tool bound to a
function key ... So, yes, not that good.

>
> Ah! it even annoys me while I type this. I have
> c-h m in the top half. I have the SLIME repl
> in the lower half. I do 'Find File' and it always
> removes the slime REPL and shows the file in the lower
> half. Then I have to juggle around with the buffers
> again.

True, true. (Nodding with head heavily ...)

>
> If you had a good keyboard, then you could bind
> some of the commands in a better way.
> http://lispm.dyndns.org/lisp/pics/102-0227_IMG.JPG
> But in real life you have a developer typing
> with a shitty PC layout keyboard, keeping him
> from being productive. Sure there are F1 to F19.
> But it means nothing.

I have bound them all doing something in Slime for me...

>
> If I'm in Zmacs and I want to try out some stuff,
> I press SUSPEND, I get a mouse sensitive REPL.
> I can simply point with the mouse on the code
> in the editor and with a click it gets inserted
> and executed. When I'm done, I press RESUME
> and the type-out REPL is gone and I have
> my nice full screen editor back. Simple as that.

Not really knowing CLIM it sounds doable with CLIM. Is there any
attempt to get Zmacs back?

>
> When I'm in FRED (MCL's Editor) I press ENTER
> and the code gets queued to the top-most listener.
> *? +? You bet!
>
> * All the advanced Lisp stuff is slighty broken.
> Like the mouse-copy feature. It is there, but it
> is slightly confused. It especially interacts
> badly with other ugly usability quirks. Ever noticed
> that the cursor is always visible? You can't scroll
> down with the the scrollbar a file without (!) moving the cursor.
> Which makes it hard to click on something somewhere
> else in the buffer and have it inserted at the current
> point - unless it is visible.

True, true. (Nodding with head heavily ...)

>
> * SLIME REPL mode. Right click. Basic buffer menu.
> Okay, the SLIME evaluation commands are not on the top of the
> context menu. But they are on the next level? Wroong!
> They are in the fourth menu. No kidding. You thought
> Common Lisp evaluation is the most basic thing in a REPL?
> Obviously not in SLIME.

Hunh? I don't any right-click menu at all in REPL mode when I am in
the REPL buffer. The only right-click menu is presentations...

Thanks again for a very elaborate sharing of thoughts. Why, then, are
you using Emacs/Slime at all? ;-)

David Trudgett

unread,
Sep 19, 2007, 5:29:11 AM9/19/07
to
Hello Rainer,

Rainer Joswig <jos...@lisp.de> writes:

>> > ACL and LispWorks are cross-platform. I usually try to
>> > use the best tool for learning. The best tool is not
>> > necessarily the one that costs less or is 'free'.
>>
>> Rainer, you know very well that when Carlo said he is a strong
>> believer in Open Source and is looking for Free Software, that he
>> wasn't talking about price. Why are you being deliberately obtuse?
>
> I mentioned 'free'? Did you see that? Last word in the paragraph.

So, what you are saying is that it is not being deliberately obtuse to
mention the ambiguous word 'free' just after the ambiguous word 'or'
just after the phrase 'costs less', and that this is not deliberately
associating the word 'free' with 'costs less'.

Did the OP even mention he was looking for cheap software? Not as I
recall. He, in fact, /said/ that he was looking for Free Software, not
low cost or zero cost software, because he is a strong believer in
open source.

You, for reasons known only to yourself, volunteered to talk about
price, thus (apparently deliberately) diverting attention from the
OP's actual stated request, and possibly making it appear to others
that the OP's actual concern was price.

Pascal Costanza

unread,
Sep 19, 2007, 5:37:39 AM9/19/07
to

There is another possibility: It may be that the tension between
commercial and free software is not that harsh in the Lisp community
than elsewhere, and that this is one of the prejudices that you should
better consider dropping when being a Lisp newbie. So Rainer may just
have been sincere in his attempt to help the OP...

Rainer Joswig

unread,
Sep 19, 2007, 6:20:52 AM9/19/07
to
In article <lzir67a...@de.goenninger.net>,

Frank Goenninger DG1SBG <dont-e...@nomail.org> wrote:

...

> > It does code highlighting, but only if your Lisp code/data is short.
> > If it is longer, it is confused.
>
> That I can't confirm. But, hey, my code is small so far.

Sometimes it is just large data.

...

> > If I'm in Zmacs and I want to try out some stuff,
> > I press SUSPEND, I get a mouse sensitive REPL.
> > I can simply point with the mouse on the code
> > in the editor and with a click it gets inserted
> > and executed. When I'm done, I press RESUME
> > and the type-out REPL is gone and I have
> > my nice full screen editor back. Simple as that.
>
> Not really knowing CLIM it sounds doable with CLIM. Is there any
> attempt to get Zmacs back?

CLIMACS is an editor for McCLIM. It may not ready for
newbie usage, but it is a good attempt to get something
going.

...

> Hunh? I don't any right-click menu at all in REPL mode when I am in
> the REPL buffer. The only right-click menu is presentations...

Aquamacs gives a right click menu and puts in the mode
specific menus.

> Thanks again for a very elaborate sharing of thoughts. Why, then, are
> you using Emacs/Slime at all? ;-)

Some implementations don't have any useful alternative IDEs.
At least I found none. I'm using Emacs for many years,
but I was never overwhelmed by its usability.

> Frank

--
http://lispm.dyndns.org

David Trudgett

unread,
Sep 19, 2007, 6:24:30 AM9/19/07
to
Hi Pascal,

Pascal Costanza <p...@p-cos.net> writes:

Hey, that's great! Of course, it does mean that those other places to
which you allude must be hell! :-)


> and that this is one of the prejudices that you should better
> consider dropping when being a Lisp newbie.

First of all, I'm not a newbie any more. When does one stop being a
newbie, by the way? ;-) I have now graduated to being merely
relatively inexperienced in Lisp programming.

Second, I know the history of c.l.l., as do you, and it is not one of
zero tension between secret software zealots like Kenny and Kent and
others, and those with a preference for Free Software. One camp kneels
at the twin altar of expediency and the "free market", and the other
holds personal freedom or ethics as a critical value to safeguard.
Broadly speaking, one group promotes commercial software but also uses
Free Software while publically trashing it and not contributing to
it[*], and the other avoids commerical software and contributes to
Free Software as time and opportunity permit.

[*] I am in particular referring to Rainer's recent criticisms of
SLIME. I bet it wasn't Rainer who broke the CVS build with all his
new patches...


> So Rainer may just have been sincere in his attempt to help the
> OP...

For the record, I never made any comment on Rainer's sincerity in
trying the "help" the OP. In fact, Rainer's sincerity may be far
greater than the OP's.

Happy Lisping,
David

Slobodan Blazeski

unread,
Sep 19, 2007, 7:16:44 AM9/19/07
to

Kenny Tilton is an author of 3 high quality open source libraries
called :Cells, Celtk & Cello.
How do you compare with your contributions?


>
> [*] I am in particular referring to Rainer's recent criticisms of
> SLIME. I bet it wasn't Rainer who broke the CVS build with all his
> new patches...
>
> > So Rainer may just have been sincere in his attempt to help the
> > OP...
>
> For the record, I never made any comment on Rainer's sincerity in
> trying the "help" the OP. In fact, Rainer's sincerity may be far
> greater than the OP's.
>
> Happy Lisping,
> David
>
> --

> These are not the droids you are looking for. Move along.- Hide quoted text -
>
> - Show quoted text -


Ken Tilton

unread,
Sep 19, 2007, 7:22:41 AM9/19/07
to

Frank Goenninger DG1SBG wrote:
> Rainer Joswig <jos...@lisp.de> writes:
>
>
>>Opinion rant follows (using Aquamas/SLIME).
>
>
> It's only fair now to respond to your post, so see comments below...
>
>
>>>While I normally can resist to post in such threads I am genuinely
>>>interested in getting to know why you, as a very experienced Lisp
>>>programmer, think Emacs + Slime is *not* a good IDE for Common Lisp.
>>>
>>>Your statements seems to suggest that you are not using Emacs and
>>>Slime, or do you?
>>
>>(asbestos suit on, again)
>>
>>I do and I hate it.
>
>
> Now that was an important point to make clear, really. For the record:
> So the statements below are from someone who /knows/ from hard experience...

Sure, but all that can be fixed by having Kenny say something bad about
Emacs + Slime, then it will suddenly be perfect and effortless and mow
your lawn when it needs it.

Me, I love Slime + Emacs.

Actually, I keep wondering: could Emacs talk to SBCL or CMUCL images
built with Celtk Inside(tm) and then have a GUI inspector, class
browser, etal? Or does being a background process (I made that up)
prohibit such hijinx?

I smell a commercial product....

kenny

--
http://www.theoryyalgebra.com/

"We are what we pretend to be." -Kurt Vonnegut

Timofei Shatrov

unread,
Sep 19, 2007, 7:35:47 AM9/19/07
to
On Tue, 18 Sep 2007 19:44:05 +0200, Carlo Capocasa <the...@carlocapocasa.com>
tried to confuse everyone with this message:

>
>Feedback appreciated!
>
>--
>
>HOW TO LEARN LISP
>

Nice troll. Congratulations!

--
|Don't believe this - you're not worthless ,gr---------.ru
|It's us against millions and we can't take them all... | ue il |
|But we can take them on! | @ma |
| (A Wilhelm Scream - The Rip) |______________|

Pascal Costanza

unread,
Sep 19, 2007, 8:04:10 AM9/19/07
to
David Trudgett wrote:
> Hi Pascal,
>
> Pascal Costanza <p...@p-cos.net> writes:
>
>> There is another possibility: It may be that the tension between
>> commercial and free software is not that harsh in the Lisp community
>> than elsewhere,
>
> Hey, that's great! Of course, it does mean that those other places to
> which you allude must be hell! :-)

:)

>> and that this is one of the prejudices that you should better
>> consider dropping when being a Lisp newbie.
>
> First of all, I'm not a newbie any more. When does one stop being a
> newbie, by the way? ;-)

Soon. ;)

> I have now graduated to being merely
> relatively inexperienced in Lisp programming.
>
> Second, I know the history of c.l.l., as do you, and it is not one of
> zero tension between secret software zealots like Kenny and Kent and
> others, and those with a preference for Free Software. One camp kneels
> at the twin altar of expediency and the "free market", and the other
> holds personal freedom or ethics as a critical value to safeguard.
> Broadly speaking, one group promotes commercial software but also uses
> Free Software while publically trashing it and not contributing to
> it[*], and the other avoids commerical software and contributes to
> Free Software as time and opportunity permit.

This is all harmless. In all sufficiently large groups, you have
disagreements about this or that. I wouldn't call that tension.

The political dimension of the free software movement has a strong
following primarily because there are a couple of software companies who
have a lot of power that can be easily, and in some examples is in fact,
abused.

None of the commercial Common Lisp vendors have such strong power. They
are also not opposed to supporting open-source projects. Many
open-source projects in the CL world also have no problems supporting
commercial implementations.

I don't see any strong conflicts between the different groups here.

Frank Goenninger DG1SBG

unread,
Sep 19, 2007, 9:19:40 AM9/19/07
to
Ken Tilton <kenny...@optonline.net> writes:

> Frank Goenninger DG1SBG wrote:

>> Now that was an important point to make clear, really. For the record:
>> So the statements below are from someone who /knows/ from hard experience...

> Sure, but all that can be fixed by having Kenny say something bad
> about Emacs + Slime, then it will suddenly be perfect and effortless
> and mow your lawn when it needs it.

hi hi (as amateur radio ops say for "laughing") -

>
> Me, I love Slime + Emacs.

Hey, Kenny, we know that ;-) Makes me feel strange when I don't see a
";-)" smiley behind this statement. Newbies could take this as being
true ;-)

>
> Actually, I keep wondering: could Emacs talk to SBCL or CMUCL images
> built with Celtk Inside(tm) and then have a GUI inspector, class
> browser, etal? Or does being a background process (I made that up)
> prohibit such hijinx?

Probably would have to go with Ltk only to mimic remote capabilities
of Slime. But, yeah, Celtk would be a very good way to do it.

> I smell a commercial product....

Hmm - if A1 doesn't take off ...

> kenny
>
> --
> http://www.theoryyalgebra.com/
>
> "We are what we pretend to be." -Kurt Vonnegut

--

Ken Tilton

unread,
Sep 19, 2007, 9:36:42 AM9/19/07
to

David Trudgett wrote:

> First of all, I'm not a newbie any more.

Check again:

(defun flatten (tree)
"Flatten the structure of an arbitrarily deeply nested list (tree)"
(cond ((atom tree) (list tree))
(t (remove nil (append (flatten (car tree))
(flatten (cdr tree)))))))

I don't know where to begin, other than to admire the density of noob
errors. That REMOVE is hilarious, btw, too bad so many people will miss
the joke. Nice touch, tho.

> Second, I know the history of c.l.l., as do you, and it is not one of

> zero tension between secret software zealots like Kenny...

...who has written more open software than you have used, and unlike FSF
zealots licensed it without encumbrance.

> others, and those with a preference for Free Software. One camp kneels
> at the twin altar of expediency and the "free market", and the other
> holds personal freedom or ethics as a critical value to safeguard.

Free, free, free. You use that word so much. I do not think it means
what you think it means.

Frank Goenninger DG1SBG

unread,
Sep 19, 2007, 10:20:56 AM9/19/07
to
Rainer Joswig <jos...@lisp.de> writes:

> Some implementations don't have any useful alternative IDEs.
> At least I found none. I'm using Emacs for many years,
> but I was never overwhelmed by its usability.

And that finally made me look into LW Personal Edition for Mac.
What can I say? Well, it's not yet "feeling home" but given the two
hours I had or trying I am already pretty high in productivity ...

It took me a considerable higher amount of time to get there with
Emacs/Slime. But then again, I have been a Lisp newbie a few years ago
when I started using Slime. I am still a newbie, only somewhat less
;-)

I'll keep using LW PE for a while to see if I am finally going to
switch!

Thx for the heads-up and the encouragement - that's what it actually
meant to me, anyway.

Frank Goenninger

unread,
Sep 19, 2007, 1:37:10 PM9/19/07
to
On 2007-09-19 16:20:56 +0200, Frank Goenninger DG1SBG
<dont-e...@nomail.org> said:

> Rainer Joswig <jos...@lisp.de> writes:
>
>> Some implementations don't have any useful alternative IDEs.
>> At least I found none. I'm using Emacs for many years,
>> but I was never overwhelmed by its usability.
>
> And that finally made me look into LW Personal Edition for Mac.
> What can I say? Well, it's not yet "feeling home" but given the two
> hours I had or trying I am already pretty high in productivity ...
>
> It took me a considerable higher amount of time to get there with
> Emacs/Slime. But then again, I have been a Lisp newbie a few years ago
> when I started using Slime. I am still a newbie, only somewhat less
> ;-)
>
> I'll keep using LW PE for a while to see if I am finally going to
> switch!
>
> Thx for the heads-up and the encouragement - that's what it actually
> meant to me, anyway.
>
> Frank

Some coments I have to say here:

Edi, you are a hero! I am now using Edi's LW-ADD-ON package and I have
to say: Sweeeeet ! Combines the nice stuff of Slime (just name one:
symbol completion upon hitting Tab) with a full blown IDE of LW.

I can do breakpoints now - Gasp! What a huge win for debugging ...
Singing "IDE is fun - tralala - IDE is fun - tralala" ;-)

Frank

--
Frank Goenninger

frgo(at)goenninger(dot)net

Tim X

unread,
Sep 20, 2007, 4:51:04 AM9/20/07
to
Slobodan Blazeski <slobodan...@gmail.com> writes:

Not making any comment on Kenny's or anyone elses motivation or
contribution, but I did want to point out that open source does NOT equate
to free software. This is an all too common misunderstanding. Free software
only refers to software that is released under a license that protects the
'four freedoms' as outlined on the FSF site. It is quite possible to
release software as open source that does not have a license that protects
these freedoms and therefore is not free software as defined by the FSF.

I'm not tossing this in to extend this thread into a philosophical
arguement. I only mention it because the OP was quite clear that he was
referring to free software in the GNU sense of freedom rather than the more
generalised concept of open source. The extent to which you subscribe to
any of the camps regarding this issue is a personal choice which means
there will never be any consensus on which is right or wrong, so lets avoid
the waste of bandwidth and return to the real question - how to help a
newbie and the best environment to start with.

Given the OPs original preference for free software solutions, I maintain
emacs+slime is the best of the free solutions that provide any level of
integrated development environment.

I did find Rainer's response to the question of why he uses emacs and slime
when he dislikes it so much interesting. On the one hand, he discounts it
and says not to use it, yet when asked why he does, he admits that for some
of the free implementations, it is the best solution on offer. I find these
two positions a bit inconsistent. Wouldn't it be better to say that if you
plan to use free implementation X, then the best thing to use is
emacs+slime, even with its problems, but if your going to use a commercial
implementation, you will probably find the IDE it provides to be the best
solution.

Also, while I've not encountered all the problems Rainer has outlined and
some of the behavior he found frustrating doesn't bother me, I suspect that
most of those issues will not be relevant until the OP has progressed a
fair way down the road to lisp, at which time, he will be in a better
position to evaluate which direction to take anyway.

Tim

See http://www.gnu.org/philosophy/free-sw.html for more info

Rainer Joswig

unread,
Sep 20, 2007, 5:43:51 AM9/20/07
to
In article <87fy19s...@lion.rapttech.com.au>,
Tim X <ti...@nospam.dev.null> wrote:

> I did find Rainer's response to the question of why he uses emacs and slime
> when he dislikes it so much interesting. On the one hand, he discounts it
> and says not to use it, yet when asked why he does, he admits that for some
> of the free implementations, it is the best solution on offer.

Best solution does not mean that I think it is a 'good' solution
for, say, a newbie. A few weeks ago I gave somebody an introduction
into Aquamacs/SLIME/SBCL. He was already using Lisp for quite interesting
stuff. I could see his cognitive overload after a few hours
explaining the basics. I mean the 'basics'. I was like
fearing that he stops using Lisp because this stuff
looks all so insane.

When you are in that maze, you don't see how twisted it is. Step
back a little. Try to explain this stuff to newbies and
you will see that you will reach only a small percentage of
people with it. There is a good chance that a large percentage
will never come back.

> I find these
> two positions a bit inconsistent. Wouldn't it be better to say that if you
> plan to use free implementation X, then the best thing to use is
> emacs+slime, even with its problems, but if your going to use a commercial
> implementation, you will probably find the IDE it provides to be the best
> solution.

I really hope for 'free', 'open source', no-cost, whatever Lisp users
that we get something better than SLIME/Emacs. For newbies and
for advanced users.

We now have some many extremely good 'free', 'open source',
no-cost, whatever Common Lisp
implementations, yet we are stuck with Emacs.

Don't get me wrong. It is good that there is a widely used
Emacs mode for Common Lisp and people have invested a lot of
time. But sometimes it would be nice if there was some
'design' and not just hacking of new features or
reorganizing of sources. From many programming languages,
Common Lisp probably has one of the best Emacs modes.
But it deserves something better.

Upon thinking why I actually use Emacs, I think say that I mostly
like DIRED and browsing text files (sources, ...) via the DIRED
these days. I don't use GNUS (tried it), planner mode (tried it).
Sometimes I use the outliner.
Also I use the shell in Emacs. But, when I want
to try out something in Common Lisp, I often use just a Terminal
and OpenMCL. If I want to try out something, I usually don't type M-x slime
(or something similar) to Emacs or try to find the last
SLIME REPL buffer (which has a shortcut, I know).
I'm more of an Emacs user than a SLIME user, I think. If
I have the choice (depending on what kind machine/OS I work)
I tend to avoid Emacs for Common Lisp programming.
When I reflect about my Lisp usage and see that I wanted to try out something,
write a code snippet or do some longer sessions and I tend
to not use SLIME/Emacs in those situations. I'm intuitively
using to some other tool.

Maybe I'm old-fashioned? But I grew up with Emacs, too.
A few days ago I ported some benchmark code to Open Genera.
Got some errors. But it felt like home. It was fun to
fix those errors. Stuff did help and did not stand in
the way. It is so much more relaxing to work with it.
It is recreational hacking. Emacs is stress.
Emacs violates all kinds of human interface principles.
If you look around you see that people are concerned
with productivity. There is lots of 'Getting Things Done'
advice you see. The main principle to get things done
is to simplify. Get rid of muda. Current Emacs is full of muda.
Too many options. Too many commands. Too many useless
ways to help the user while it actually stands in the way.

> Also, while I've not encountered all the problems Rainer has outlined and
> some of the behavior he found frustrating doesn't bother me, I suspect that
> most of those issues will not be relevant until the OP has progressed a
> fair way down the road to lisp, at which time, he will be in a better
> position to evaluate which direction to take anyway.

Double click MCL. A listener and an editor. Both written in CL
in one app. Type a form. Press enter. Done.

Newbie time to REPL with MCL? A second. With Installer for MCL
30 seconds.

How many commands distract you from Lisp code? Zero.


Now Emacs. Let's take Aquamacs.

Double Click Aquamacs. Now what? Ten thousand commands and
a million lines of Emacs Lisp. But no Common Lisp.

Now install Common Lisp. The usual Unix stuff. Not that
hard, but it takes some minutes. Then do some basic
setup so that you can call the implementation with
some simple command. No double clickable app. Okaaaaaay.

Now SLIME. Take the SLIME that comes with Aquamacs.
Outdated. Good chance that it will not work and you struggle
for some time. Time to get a newer version. But which one?
I use CMUCL on an Intel Mac. Need to get the newest or
patch it yourself. Try one from the source repository?
But which one? What is a useful version? The latest
source currently seem to broken in some features quite
often. Which was the last stable version. Okay, we
will find out.

We got SLIME. Now how to integrate it with Emacs. Read
the instructions. We are now typing Emacs Lisp - but
we just wanted to do Common Lisp. Now how to call
Common Lisp from Emacs. We find out.

Newbie time to REPL with SLIME/Emacs? A day.
How many stuff distracts you from the Common Lisp REPL?
A zillion! Learned new useless concepts? Hundreds.


It just feels like you want to teach somebody swimming and
you give him those iron water wings.

>
> Tim
>
> See http://www.gnu.org/philosophy/free-sw.html for more info

--
http://lispm.dyndns.org

Carlo Capocasa

unread,
Sep 20, 2007, 7:25:35 AM9/20/07
to

Thanks for your kind reply!

> I did find Rainer's response to the question of why he uses emacs and slime
> when he dislikes it so much interesting. On the one hand, he discounts it
> and says not to use it, yet when asked why he does, he admits that for some
> of the free implementations, it is the best solution on offer.

With a little glue on our side, I think something to rival Slime can
be made with relatively little effort.

Carlo

David Reitter

unread,
Sep 20, 2007, 9:00:24 AM9/20/07
to
On Sep 20, 10:43 am, Rainer Joswig <jos...@lisp.de> wrote:

> Now SLIME. Take the SLIME that comes withAquamacs.
> Outdated. Good chance that it will not work and you struggle
> for some time.

Aquamacs comes with SLIME 2.0. If you check the SLIME website, you
will find that "The latest stable release is slime 2.0".

OK, so what exactly do you mean by "outdated"? Could you clarify why
you think that there's a good chance that it will not work?

(Don't forget, the Slime in Aquamacs has actually been tested and is
being used by many people. I myself use it with OpenMCL and I don't
have any major issues with it.)

Of course you are right when you say that installing Emacs and Slime
can be difficult for newbies. Of course, Emacs is difficult for
newcomers. That's why there is Aquamacs. And whereever Slime and
Aquamacs (or Emacs) are still difficult, please do contribute and
change Emacs so that it is easier to use. Share your changes with the
respective projects, and everyone will benefit.


--
http://aquamacs.org -- Aquamacs: Emacs on Mac OS X
http://aquamacs.org/donate -- Could we help you? Return the favor and
support the Aquamacs Project!


Juho Snellman

unread,
Sep 20, 2007, 10:00:11 AM9/20/07
to
David Reitter <david....@gmail.com> wrote:
> On Sep 20, 10:43 am, Rainer Joswig <jos...@lisp.de> wrote:
>
>> Now SLIME. Take the SLIME that comes withAquamacs.
>> Outdated. Good chance that it will not work and you struggle
>> for some time.
>
> Aquamacs comes with SLIME 2.0. If you check the SLIME website, you
> will find that "The latest stable release is slime 2.0".

Releases aren't a priority for Slime. It's expected that the target
audience is comfortable with checking out code from a version control
system.

> OK, so what exactly do you mean by "outdated"? Could you clarify why
> you think that there's a good chance that it will not work?

Slime uses undocumented/unsupported internal interfaces of some Lisp
implementations. If you're using a sufficiently undocumented and
actively developed implementation, it s possible that the latest
release of the implementation isn't compatible with a Slime from 2
years ago.

(This cuts the other way around too, a Lisp implementation from 2
years ago might not work with a current version of Slime. But that's
easy to solve by just checking out an older version of Slime from
CVS).

--
Juho Snellman

Matthias Buelow

unread,
Sep 20, 2007, 10:08:16 AM9/20/07
to
Tim X wrote:
> I did want to point out that open source does NOT equate
> to free software. This is an all too common misunderstanding. Free software
> only refers to software that is released under a license that protects the
> 'four freedoms' as outlined on the FSF site.

The FSF doesn't have an exclusive contract on the use of the term "free
software".

Raffael Cavallaro

unread,
Sep 20, 2007, 11:11:13 AM9/20/07
to
On 2007-09-20 05:43:51 -0400, Rainer Joswig <jos...@lisp.de> said:

> Newbie time to REPL with SLIME/Emacs? A day.
> How many stuff distracts you from the Common Lisp REPL?
> A zillion! Learned new useless concepts? Hundreds.
>
>
> It just feels like you want to teach somebody swimming and
> you give him those iron water wings.

Just so you don't feel like you're the only one, this has
been my experience as well. I think what we have in
common is that we've both been spoiled by MCL ;^)

Timofei Shatrov

unread,
Sep 20, 2007, 11:38:27 AM9/20/07
to
On 20 Sep 2007 14:00:11 GMT, Juho Snellman <jsn...@iki.fi> tried to confuse
everyone with this message:

>David Reitter <david....@gmail.com> wrote:


>> On Sep 20, 10:43 am, Rainer Joswig <jos...@lisp.de> wrote:
>>
>>> Now SLIME. Take the SLIME that comes withAquamacs.
>>> Outdated. Good chance that it will not work and you struggle
>>> for some time.
>>
>> Aquamacs comes with SLIME 2.0. If you check the SLIME website, you
>> will find that "The latest stable release is slime 2.0".
>
>Releases aren't a priority for Slime. It's expected that the target
>audience is comfortable with checking out code from a version control
>system.

So, Lisp Noobs are not included in the target audience?

>> OK, so what exactly do you mean by "outdated"? Could you clarify why
>> you think that there's a good chance that it will not work?
>
>Slime uses undocumented/unsupported internal interfaces of some Lisp
>implementations. If you're using a sufficiently undocumented and
>actively developed implementation, it s possible that the latest
>release of the implementation isn't compatible with a Slime from 2
>years ago.

It is also possible to grab the current CVS version and find that it's
incompartible with some implementation due to someone introducing some
random bug, and then you have to frantically search for the bugless
version, because the chances of that bug being fixed by SLIME developers
are quite low (I once reported a bug on SLIME list almost one year ago
and it's still unfixed).

Rainer Joswig

unread,
Sep 20, 2007, 12:19:59 PM9/20/07
to
In article <1190293224.0...@d55g2000hsg.googlegroups.com>,
David Reitter <david....@gmail.com> wrote:

> On Sep 20, 10:43 am, Rainer Joswig <jos...@lisp.de> wrote:
>
> > Now SLIME. Take the SLIME that comes withAquamacs.
> > Outdated. Good chance that it will not work and you struggle
> > for some time.
>
> Aquamacs comes with SLIME 2.0. If you check the SLIME website, you
> will find that "The latest stable release is slime 2.0".

Usually in the Lisp world something from April 20, 2006
is brand new. ;-) But in this case SLIME has been rewritten
in between several times and two or more camps tried
to re-factor it to something that they like better. ;-)
Well, almost.

> OK, so what exactly do you mean by "outdated"? Could you clarify why
> you think that there's a good chance that it will not work?

Example: There is a new port of CMUCL to Intel Macs.
It did not work with SLIME. But with the help from
some knowledgeable person, it was easy to fix.
The fix now is in the CVS (I hope). Updating to that
version probably would generate some other headaches,
since there is some coding going on all the time.
I just patched the version that I got from CVS some time
ago and which is known to work with later versions
of OpenMCL, too.

I have no idea what it takes to get a stable release
from SLIME and if the developers are willing to do
something in that direction.



> (Don't forget, the Slime in Aquamacs has actually been tested and is
> being used by many people. I myself use it with OpenMCL and I don't
> have any major issues with it.)
>
> Of course you are right when you say that installing Emacs and Slime
> can be difficult for newbies. Of course, Emacs is difficult for
> newcomers. That's why there is Aquamacs. And whereever Slime and
> Aquamacs (or Emacs) are still difficult, please do contribute and
> change Emacs so that it is easier to use. Share your changes with the
> respective projects, and everyone will benefit.

Aquamacs is quite useful. Thanks for your effort. It is
probably the best GNU Emacs version that ever existed.

Unfortunately Aquamacs has three areas of problems which are not
that easy to fix:

* since Aquamacs has a UI with Macs' menubar and Menus,
you get a lot of complexity right there in the UI.
Then there is little to escape those complex
preferences with a funky UI to set those.

* With a Mac-like UI one might want in some places a UI
that is not based on Emacs' buffer philosophy.

* Some of the basic things in Emacs is not Mac-like.
No other editor on that platform has a cursor
like Emacs. The Emacs cursor is always visible.
Try Textedit with some longer text. Move the scroll
bar. The cursor will stay at its position even,
if it is outside the 'viewport'. This has induces
subtle differences in interaction. Stuff like
that is not easy to fix. The one-document-one-window
model is also not possible to follow.

For relatively advanced users, Emacs/Aquamacs is a fine editor.
Unfortunately it does not make a good Newbie development
environment for Common Lisp. There is little chance that
this can be fixed. Advanced Common Lisp developers
also have some tendency to use something else. Not all,
but many I know. Some are keeping their old G4 Powerbooks
for MCL hacking, despite there are much more advanced
Macbooks available.

>
>
> --
> http://aquamacs.org -- Aquamacs: Emacs on Mac OS X
> http://aquamacs.org/donate -- Could we help you? Return the favor and
> support the Aquamacs Project!

--
http://lispm.dyndns.org

Brian Adkins

unread,
Sep 21, 2007, 12:38:34 AM9/21/07
to
On Sep 19, 9:36 am, Ken Tilton <kennytil...@optonline.net> wrote:
> David Trudgett wrote:
> > First of all, I'm not a newbie any more.
>
> Check again:
>
> (defun flatten (tree)
> "Flatten the structure of an arbitrarily deeply nested list (tree)"
> (cond ((atom tree) (list tree))
> (t (remove nil (append (flatten (car tree))
> (flatten (cdr tree)))))))

I (pre-newbie) fooled around with this and came up with:

(defun flatten (tree)
(if (consp tree)


(append (flatten (car tree))
(flatten (cdr tree)))

(if (not (null tree))
(list tree))))

but that just seemed odd, so I resorted to Google and found the
following which seems more readable:

(defun flatten (tree)
(cond ((null tree) nil)
((atom tree) (list tree))
(t (append (flatten (car tree))
(flatten (cdr tree))))))


Tim X

unread,
Sep 21, 2007, 2:15:46 AM9/21/07
to
Rainer Joswig <jos...@lisp.de> writes:

> In article <87fy19s...@lion.rapttech.com.au>,
> Tim X <ti...@nospam.dev.null> wrote:
>
>> I did find Rainer's response to the question of why he uses emacs and slime
>> when he dislikes it so much interesting. On the one hand, he discounts it
>> and says not to use it, yet when asked why he does, he admits that for some
>> of the free implementations, it is the best solution on offer.
>
> Best solution does not mean that I think it is a 'good' solution
> for, say, a newbie. A few weeks ago I gave somebody an introduction
> into Aquamacs/SLIME/SBCL. He was already using Lisp for quite interesting
> stuff. I could see his cognitive overload after a few hours
> explaining the basics. I mean the 'basics'. I was like
> fearing that he stops using Lisp because this stuff
> looks all so insane.
>

I guess we have different views. I've only been using emacs and slime for a
relatively short time and just haven't found it that much of a problem. I
suspect we are coming from two opposite extremes and reality for most
probably lies somewhere in the middle.

> When you are in that maze, you don't see how twisted it is. Step
> back a little. Try to explain this stuff to newbies and
> you will see that you will reach only a small percentage of
> people with it. There is a good chance that a large percentage
> will never come back.
>

I actually still consider myself to be a newbie when it comes to CL and
emacs slime. I've not done any customization of emacs and slime and still
find it the best integration I've seen for the free implementations.

>> I find these
>> two positions a bit inconsistent. Wouldn't it be better to say that if you
>> plan to use free implementation X, then the best thing to use is
>> emacs+slime, even with its problems, but if your going to use a commercial
>> implementation, you will probably find the IDE it provides to be the best
>> solution.
>
> I really hope for 'free', 'open source', no-cost, whatever Lisp users
> that we get something better than SLIME/Emacs. For newbies and
> for advanced users.
>

I don't disagree, but hoping doesn't change now and that is the situation
new users are faced with.

Maybe the problem here is that to some extent you were
spoiled by Genera and evrything else now seems to be poor in comparison? I
feel similar regarding packages I used many years ago that to me have never
been done by anyone else as well as the original, but the original is no
longer viable given changes in OS, libraries and hardware.

I think you have made that a pretty biased outline to be honest and it
certainly doesn't reflect my experience at all. In fact, your outline of
emacs and slime setup reminds me very much of a co-worker, who having been
programming since the days of PDP-10/11 and was still in the mindset of
building everything from sources and had yet to make the transition to
modern day package management.

My experience (only a couple of years ago)...

Woke up Saturday morning and decided this was the day to start looking into
learning CL. Logged into my Debian GNU Linux box and typed

apt-cache search "Common Lisp"

a heap of entries pop up with brief descriptions. There are numerous CL
implementations. Not sure which one to choose, but I had heard from a
friend they liked SBCL, so I decide on that one. I've already got emacs
installed and I see SLIME, so I'll grab that as well. There are a heap of
cl- packages, such as cl-pcre, decide not to install them just now - I want
a simple setup to begin with. I do notice packages for a PDF of "On Lisp',
"ANSI Common Lisp', Common Lisp The Language, 2nd Edition and an HTML
reference called the 'Hyperspec". Decided you can't have too much
documentation, so I select all of those as well. Time so far, less than 5
minutes.

Type apt-get with the list of packages. Apt tells me its also installing
some other packages that are required. I enter 'y' and the process
starts. Around 5 minutes to download and install these packages from the
net.

I start emacs and type M-x slime in the mini-buffer. A buffer pops up with
some comment about this being the beginning of a wonderful experience and I
have a REPL prompt cl-user>. I enter (+ 3 2) and hit enter and get the
result on the next line.

Time to get from nothing to a REPL and enter my first lisp expression, just
over 10 minutes. Number of emacs configuration steps required, none. Number
of elisp expressions required, none.

I then spend a while exploring the environment, seeing what the various
menu options do. Discover handy little features, such as looking up a
definition in the hyperspec, describing the value/symbol/thing under point
etc. At this point, I've not used any special emacs commands apart from M-x
slime. I've been using the menus to explore the environment and while I've
noted the short cuts printed in the menus for things like describe symbol
etc, I've not used them yet. I've pretty much just used the mouse, arrow
keys and keyboard. I have enabled paren matching from the 'Options' menu
and I have enabled font locking (from the options menu).

I do admit that later I did do considerable customization and created elisp
to add to load hooks etc. some of this was not trivial and required the
sort of knowledge that only comes after using emacs for quite some
time. However, the point is, none of this was required initially. I was
able to get up and running with a REPL in not much longer than your MCL
example and most of that time involved download and deciding which of the
many CL related packages I wanted.

The basic 'out of the box (package)" setup was fine to start with. In fact,
many of my customizations came from searching places like the emacs wikki
and posts to groups like this one. None of them were required in order for
me to start using CL or SLIME and in fact many would make no difference
given the type of stuff I was doing initially. This is the main point I
think is often lost with experienced emacs users. Emacs actually provides a
pretty good default setup. Its actually the fact it is so powerful and
configurable that it can become a bit of a monster if you let it. For
example, the often cited 'weird' key bindings. Given that emacs has more
key bindings than any other editor I've ever seen, its no wonder that some
(even a lot) of key bindings are to key combinations that seem really crazy
or difficult to use. However, if you restrict yourself to the basic key
bindings that you would find in most editors, you find that there is a
rationale behind them and the basic ones are pretty good in that they are
logical and easy to use.

When you first start doing CL, you are not that concerned about being able
to move around by sexps, manipulate things on a sexp level or have parens
inserted/deleted in matched pairs. This comes later, once you are doing
more complex coding. By this time, you probably know about additional
modes, such as paredit and advanced key bindings for evaluation etc. You
are probably familiar enough now to customize some of the key bindings for
the mode to make them more comfortable or natural to how you want to work
and you know which key bindings you don't use and therefore can re-bind to
different commands that are more convenient. You may even find some of the
default SLIME configuration with respect to windows, buffers etc to not be
what you want and may decide to start more serious customization, possibly
involving writing elisp etc. However, you don't *need* to do this to get
started and with modern package management, you can actually get started
without doing a single bit of emacs customization or writing elisp.

If there is one mistake I see more than any other when it comes to emacs,
its the user who starts up emacs and within the first 5 minutes decides
that they want to start changing everything. I think this is a mistake
because in that short amount of time, they really don't understand either
the rationale that underlies many of the decisions of why something has
been done the way it has been done or have enough understanding to actually
do the customizations correctly. My advice to all new emacs users is to
just use it 'out of the box' for a few weeks before doing any
customization. Give it a chance and look at it as something new rather than
something you need to force into being like everything else you have ever
used. In the end, you are likely to extensively customize it, but by
waiting, you give yourself the chance to possibly discover new and better
ways of dinig things and you give yourself the time to learn it
sufficiently to actually customize things in the right way and not
introduce weird unexpected side effects that drive you nuts for the next 12
months while you work out that the 'bugs' and problems are actually due to
things you have done incorrectly. Like all powerful things, it takes time
to learn how to harness that power.

There is also possibly another approach with Emacs that may still be
worthwhile, especially for those who really don't like SLIME, ILISP. This
was the mode emacs use to use before SLIME. I don't think it is maintained
any longer, but as it was quite a simple mode compared to slime, it
probably still works. Being much simpler, it may suit those who feel SLIME
tries to do too much or gets too much in the way. You can also get a fair
amount of functionality by just running an inferior lisp process within
emacs and forget about SLIME or ILISP. You would only get a REPL and the
only way to send commands from a CL code buffer would be using cut and
paste, but maybe that is a nice very simple way to get started if iether
your distro doesn't have a SLIME package and you don't want to install from sources.

I also am amazed at comments regarding CVS versions of SLIME being
unstable. What do people expect if they use the latest CVS snapshots - this
is development code and its bound to be unstable at times. SLIME is an
active, udner development package and at times it will go down paths that
either create instability or change features in ways that it later turns
out are unpopular or just were not well thought out. Welcome to the world
of distributed open source development and remember the code is in CVS, so
you can always revert to an earlier release should you find the changes to
much or the latest version to be too unstable and if you really don't like
it, don't use it, but unless you are prepared to work to improve it, pull
your head in and shut up (BTW, this is not directed at any specific
individual, so don't take it personally unless you really want to, in which
case, pull your head in and shut up)..

Tim

Tim X

unread,
Sep 21, 2007, 2:32:50 AM9/21/07
to
Carlo Capocasa <the...@carlocapocasa.com> writes:

something I've not seen mentioned in this thread is the project that was
started to create a slime like setup for VI. I can't remember what it was
called and I don't know what the current status is, but I seem to remember
seeing a post that indicated basic functionality (i.e. ability to send CL
expressions to an inferior CL process from within VI and get back the
result) was working.

Maybe people who find the power of emacs too much to deal with initially
would find something like this better?

Tim

Tim X

unread,
Sep 21, 2007, 2:36:53 AM9/21/07
to
Matthias Buelow <m...@incubus.de> writes:

Given they were the initiators of the whole movement, I think its not
unreasonable to accept their definition, especially in the context of the
thread where it was quite obvious the OP was referencing the FSF
philosophical position.

Tim

Rainer Joswig

unread,
Sep 21, 2007, 4:40:04 AM9/21/07
to
In article <873ax8s...@lion.rapttech.com.au>,
Tim X <ti...@nospam.dev.null> wrote:

...

> > Maybe I'm old-fashioned? But I grew up with Emacs, too.
> > A few days ago I ported some benchmark code to Open Genera.
> > Got some errors. But it felt like home. It was fun to
> > fix those errors. Stuff did help and did not stand in
> > the way. It is so much more relaxing to work with it.
> > It is recreational hacking. Emacs is stress.
> > Emacs violates all kinds of human interface principles.
> > If you look around you see that people are concerned
> > with productivity. There is lots of 'Getting Things Done'
> > advice you see. The main principle to get things done
> > is to simplify. Get rid of muda. Current Emacs is full of muda.
> > Too many options. Too many commands. Too many useless
> > ways to help the user while it actually stands in the way.
> >
>
> Maybe the problem here is that to some extent you were
> spoiled by Genera and evrything else now seems to be poor in comparison? I
> feel similar regarding packages I used many years ago that to me have never
> been done by anyone else as well as the original, but the original is no
> longer viable given changes in OS, libraries and hardware.

Not necessarily. There are useful alternatives now.
I'm more 'spoiled' by MCL, which is MUUUUCH simpler to use.

> I think you have made that a pretty biased outline to be honest and it
> certainly doesn't reflect my experience at all. In fact, your outline of
> emacs and slime setup reminds me very much of a co-worker, who having been
> programming since the days of PDP-10/11 and was still in the mindset of
> building everything from sources and had yet to make the transition to
> modern day package management.

That's what I use under Ubuntu, too. But not always are the Lisp distributions
packaged in a useful version. Most of the times I build them from
sources if possible.

...

> I do admit that later I did do considerable customization and created elisp

Try to explain a newbie why there is ELISP and why there is Common Lisp
and what the differences are. He/SHE will stare at you with disbelief.

...

> When you first start doing CL, you are not that concerned about being able
> to move around by sexps, manipulate things on a sexp level or have parens
> inserted/deleted in matched pairs.

More interesting is that you can do (make-instance 'editor) and you
get an editor. Or (add-subviews (make-instance'window) (make-instance
'edit-field)) and you get a new window with an editor field.
Get rid of Emacs, ELISP and all that cruft. Like
the Common Lisp implementation is written in Common Lisp, the IDE
should be written in Common Lisp, too. It is a whole different feel.

CMUCL comes with Hemlock btw. Now one needs to get Motif.
Hemlock is an Emacs variant written in Common Lisp.
It has been adapted in other implementations, too. Though it
needs more work. OpenMCL for example comes with Hemlock
adapted to the Mac. It still looks a bit ugly, but I expect that
OpenMCL hacking gets more practical once the IDE runs on
the Intel Macs (which it doesn't do with the current OS,
but it will with the next OS).

...

--
http://lispm.dyndns.org

Timofei Shatrov

unread,
Sep 21, 2007, 5:11:35 AM9/21/07
to
On Fri, 21 Sep 2007 16:36:53 +1000, Tim X <ti...@nospam.dev.null> tried to

confuse everyone with this message:

>Matthias Buelow <m...@incubus.de> writes:


>
>> Tim X wrote:
>>> I did want to point out that open source does NOT equate
>>> to free software. This is an all too common misunderstanding. Free software
>>> only refers to software that is released under a license that protects the
>>> 'four freedoms' as outlined on the FSF site.
>>
>> The FSF doesn't have an exclusive contract on the use of the term "free
>> software".
>
>Given they were the initiators of the whole movement, I think its not
>unreasonable to accept their definition,

Of course, before they came up with this definition the term "free software" was
understood as something different (just like "gay" used to mean "happy"). The
term "freeware" also appeared in 1985, a simple contraction of "free software",
which is still used to this day. Of course, FSF will probably claim that "free"
in "freeware" is a misnomer, but when the term was coined, it had the same
definition as "free software" had back then. I, myself prefer this wider
definition.

David Reitter

unread,
Sep 21, 2007, 5:30:31 AM9/21/07
to
On Sep 20, 3:00 pm, Juho Snellman <jsn...@iki.fi> wrote:

> Releases aren't a priority for Slime. It's expected that the target
> audience is comfortable with checking out code from a version control
> system.


Rainer Joswig:

> Usually in the Lisp world something from April 20, 2006
> is brand new. ;-) But in this case SLIME has been rewritten
> in between several times and two or more camps tried
> to re-factor it to something that they like better. ;-)
> Well, almost.


CVS versions are under development and will inevitably contain
(temporary) bugs. Checking out a version on an arbitrary date that is
not endorsed by the developers as "release" amounts to playing Russian
Roulette. It also brings up all sorts of questions with respect to
support and incorporating bug reports. We had to do that with Aquamacs
and GNU Emacs before the 22.1 release, and GNU Emacs has had a pretty
stable CVS thanks to conservative checkin policies.

You really have to complain to the SLIME management for not getting
the project to actually do a release. It's an unfortunate situation.
Including a CVS snapshot in a distribution such as Aquamacs is not a
viable option.

David Reitter

unread,
Sep 21, 2007, 5:34:49 AM9/21/07
to
On Sep 20, 5:19 pm, Rainer Joswig <jos...@lisp.de> wrote:

> I have no idea what it takes to get a stable release
> from SLIME and if the developers are willing to do
> something in that direction.

Then please point out this thread to them if you're interested in a
new release.

> * sinceAquamacshas a UI with Macs' menubar and Menus,


> you get a lot of complexity right there in the UI.
> Then there is little to escape those complex
> preferences with a funky UI to set those.

Right, but at the same time, menu-less programs that are powerful will
be even more difficult to learn (take Vi).

> * With a Mac-like UI one might want in some places a UI
> that is not based on Emacs' buffer philosophy.

That is why one-buffer-one-frame-mode is enabled by default. But
generally you're certainly right.

> * Some of the basic things in Emacs is not Mac-like.
> No other editor on that platform has a cursor
> like Emacs. The Emacs cursor is always visible.
> Try Textedit with some longer text. Move the scroll
> bar. The cursor will stay at its position even,
> if it is outside the 'viewport'. This has induces
> subtle differences in interaction. Stuff like
> that is not easy to fix.

Yes, I agree. I do find that Emacs' lack of a viewport makes mouseless
editing easier, though. But that is no excuse for the inconsistency
with other apps on our platform.

Madhu

unread,
Sep 21, 2007, 5:47:18 AM9/21/07
to
* Rainer Joswig <joswig-1447C3....@news-europe.giganews.com> :

| CMUCL comes with Hemlock btw. Now one needs to get Motif.

I'm sure this is not true. You can build and Use Hemlock without motif.
Hemlock depends only on CLX and not `interface' (graphical debugger and
inspector) which is what the Motif requirement is about.

| Hemlock is an Emacs variant written in Common Lisp.
| It has been adapted in other implementations, too. Though it
| needs more work. OpenMCL for example comes with Hemlock
| adapted to the Mac. It still looks a bit ugly, but I expect that
| OpenMCL hacking gets more practical once the IDE runs on
| the Intel Macs (which it doesn't do with the current OS,
| but it will with the next OS).

How would you compare LW's editor with Hemlock? I'd suspect they share
the same codebase, with LW being a cleaned up well packaged version.

--
Madhu

Rainer Joswig

unread,
Sep 21, 2007, 6:04:20 AM9/21/07
to
In article <m3k5qk5...@robolove.meer.net>, Madhu <eno...@meer.net>
wrote:

> * Rainer Joswig <joswig-1447C3....@news-europe.giganews.com> :
>
> | CMUCL comes with Hemlock btw. Now one needs to get Motif.
>
> I'm sure this is not true. You can build and Use Hemlock without motif.
> Hemlock depends only on CLX and not `interface' (graphical debugger and
> inspector) which is what the Motif requirement is about.

Right, Hemlock is pure X11. Somewhere the Motif stuff comes in.
I have to check that out later today.

Thanks for the correction!

>
> | Hemlock is an Emacs variant written in Common Lisp.
> | It has been adapted in other implementations, too. Though it
> | needs more work. OpenMCL for example comes with Hemlock
> | adapted to the Mac. It still looks a bit ugly, but I expect that
> | OpenMCL hacking gets more practical once the IDE runs on
> | the Intel Macs (which it doesn't do with the current OS,
> | but it will with the next OS).
>
> How would you compare LW's editor with Hemlock? I'd suspect they share
> the same codebase, with LW being a cleaned up well packaged version.

LW's editor is a Hemlock derivative it seems - but the code has been
hacked on for some time. Basically the LW editor runs under
X11/Motif, Cocoa/Mac OS and Windows. So it is ported to
several GUIs via the cross-platform GUI toolkit of LispWorks.
The editor is totally sufficient for Lisp development, but
it lacks a few things (like better font support).

>
> --
> Madhu

--
http://lispm.dyndns.org

Tim X

unread,
Sep 21, 2007, 6:37:17 AM9/21/07
to
Rainer Joswig <jos...@lisp.de> writes:

> In article <873ax8s...@lion.rapttech.com.au>,
> Tim X <ti...@nospam.dev.null> wrote:
>
>
>> I think you have made that a pretty biased outline to be honest and it
>> certainly doesn't reflect my experience at all. In fact, your outline of
>> emacs and slime setup reminds me very much of a co-worker, who having been
>> programming since the days of PDP-10/11 and was still in the mindset of
>> building everything from sources and had yet to make the transition to
>> modern day package management.
>
> That's what I use under Ubuntu, too. But not always are the Lisp distributions
> packaged in a useful version. Most of the times I build them from
> sources if possible.

Agreed. However, the original point in all of this was with respect to the
newbie and not the more experienced user. I don't see any reason the new
user would need to get the latest versions just to start out. Part of what
I have found frustrating in the responses given to the original request has
been that many of the responses have been in the context of what is
best/required from an experienced user perspective.

If there is anything that makes it hard for the new user, its all the
experienced lispers that insist on offering up advice which is initially
going to be of absolutely no use to the novice. All it does is make it seem
more confusing and complex than it needs to be.

>> I do admit that later I did do considerable customization and created elisp
>
> Try to explain a newbie why there is ELISP and why there is Common Lisp
> and what the differences are. He/SHE will stare at you with disbelief.

But why even mention it? It is absolutely irrelevant when getting
started. This is exactly the sort of thing that causes confusion and is
totally unnecessary initially. If they ask, just say its the configuration
language used by emacs and nothing to do with common lisp.

>
>> When you first start doing CL, you are not that concerned about being able
>> to move around by sexps, manipulate things on a sexp level or have parens
>> inserted/deleted in matched pairs.
>
> More interesting is that you can do (make-instance 'editor) and you
> get an editor. Or (add-subviews (make-instance'window) (make-instance
> 'edit-field)) and you get a new window with an editor field.
> Get rid of Emacs, ELISP and all that cruft. Like
> the Common Lisp implementation is written in Common Lisp, the IDE
> should be written in Common Lisp, too. It is a whole different feel.
>

this has gotten way off track. The original question was about the
development environment to use when starting to learn common lisp. I
certainly would never claim emacs+slime is the pinnacle of possible IDEs
for working with CL, only that it is one of the better ones available right
now that I can think of that is free (as in freedom) and
which meets the OPs original goals. I personally am quite happy with it as
an environment for working with several different CL implementations. I am
not a very experienced CL user, which may explain why I don't find the
problems others have raised. however, that in itself would indicate most of
the problems raised in this thread do not apply to someone who is just
starting to learn CL and I think its still better than using the other
recommendation, gedit and a term window, because it provides things like
argument hints for functions and integrated lookup into the hyperspec ,
history, completion etc plus is closer to the 'explorational development'
approach that makes CL so much fun to work/think in.

Pascal Costanza

unread,
Sep 21, 2007, 6:50:54 AM9/21/07
to
Tim X wrote:

> If there is anything that makes it hard for the new user, its all the
> experienced lispers that insist on offering up advice which is initially
> going to be of absolutely no use to the novice. All it does is make it seem
> more confusing and complex than it needs to be.

The ultimately easiest way to get an environment for learning how to
program in Common Lisp is to use one of the free editions of the
commercial implementations. They support common keybindings, give you
some flavor of emacs keybindings on top - so you can even learn that
smoothly if you want to -, and have good support for exploring what is
possible in case you get stuck somewhere. That is, it's always possible
to fall back on using the mouse and menus.

You get this all without configuring anything, or only very little
configuration - not more than usual for typical commercial applications.

The risk of lock-in is minimal. Even if you are a die-hard defender of
free software, it will be easy to switch to a combination of pure free
software components, once you have a good grasp of Common Lisp, related
technologies, and the surrounding communities.

Things get only more complicated from day one when you insist on using
free software from day one.

Message has been deleted
Message has been deleted

Ken Tilton

unread,
Sep 21, 2007, 12:09:36 PM9/21/07
to

Ken Tilton wrote:


>
>
> Brian Adkins wrote:
>
>> On Sep 19, 9:36 am, Ken Tilton <kennytil...@optonline.net> wrote:
>>
>>> David Trudgett wrote:
>>>
>>>> First of all, I'm not a newbie any more.
>>>
>>>
>>> Check again:
>>>
>>> (defun flatten (tree)
>>> "Flatten the structure of an arbitrarily deeply nested list (tree)"
>>> (cond ((atom tree) (list tree))
>>> (t (remove nil (append (flatten (car tree))
>>> (flatten (cdr tree)))))))
>>
>>
>>
>> I (pre-newbie) fooled around with this and came up with:
>>
>> (defun flatten (tree)
>> (if (consp tree)
>> (append (flatten (car tree))
>> (flatten (cdr tree)))
>> (if (not (null tree))
>> (list tree))))
>
>

> Who else might have a copy to the structure passed to append?

Oops, "copy /of/" was what I meant and would have been daft cuz copies
are what are safe... I meant who else might be /sharing/ aka /have a
reference to/ the structure being copied?

Somebody help me, I just woke up from a nap.

Anyway, why I am here is not that. If noobs are looking to fool around
and earn their consing wings, they should try replicate Kenny's favorite
function, npacked-flat: a non-consing flattener that tosses NILs.

Here's the implicit spec:

(mapcar 'npacked-flat
(list nil
:people-on-cll-like-harrop
(cons 0 1)
(list 0 (cons 1 2) 3)
(copy-tree '(nil (nil 0 nil)
(nil 1 (2 nil (3) 4) (5 6))
nil 7 nil nil))))

-> (NIL :PEOPLE-ON-CLL-LIKE-HARROP
(0 . 1) (0 1 3) <oops>
(0 1 2 3 4 5 6 7))


Interestingly, passed an atom it returns an atom. Dotted lists partially
handled just now as an afterthought, extra credit for surpassing the
master and getting nested dotted lists to work (we'll change the spec to
say "always return a proper list, undotting as necessary" and of course
then you can cons. Super extra credit for using a scavenged cons to
avoid consing even that.

kenny (hoping this keeps the little devils out of our hair for a few days)

--
http://www.theoryyalgebra.com/

"We are what we pretend to be." -Kurt Vonnegut

Klaus Schilling

unread,
Sep 21, 2007, 10:10:44 AM9/21/07
to
>
> I'm sure this is not true. You can build and Use Hemlock without motif.


does lesstif work ?

Klaus Schilling

Matthias Buelow

unread,
Sep 21, 2007, 2:29:58 PM9/21/07
to
Tim X wrote:

> Given they were the initiators of the whole movement,

You're brainwashed.

Rainer Joswig

unread,
Sep 22, 2007, 4:32:39 AM9/22/07
to
In article <joswig-6958EC....@news-europe.giganews.com>,
Rainer Joswig <jos...@lisp.de> wrote:

> In article <m3k5qk5...@robolove.meer.net>, Madhu <eno...@meer.net>
> wrote:
>
> > * Rainer Joswig <joswig-1447C3....@news-europe.giganews.com> :
> >
> > | CMUCL comes with Hemlock btw. Now one needs to get Motif.
> >
> > I'm sure this is not true. You can build and Use Hemlock without motif.
> > Hemlock depends only on CLX and not `interface' (graphical debugger and
> > inspector) which is what the Motif requirement is about.
>
> Right, Hemlock is pure X11. Somewhere the Motif stuff comes in.
> I have to check that out later today.
>
> Thanks for the correction!

I was confused. CMUCL comes with a Motif library, but Hemlock does
not use it. It is just plain X11. Kind of fun to see that it still
runs. If one has CMUCL, one just needs to do:

First setup the X11 DISPLAY.

Then start CMUCL and run this:

(require :clx)
(require :hemlock)
(ed)

Hemlock does use 'slave' Lisps for Lisp interaction
(like Emacs' inferior Lisp). You get a slave Lisp
via M-x Select Slave or C-M-c .


Screenshot: http://lispm.dyndns.org/news?ID=NEWS-2007-08-12-1


I have seen (just) one customization example for Hemlock:

http://www.ltn.lv/~jonis/.hemlock-init.lisp
http://www.ltn.lv/~jonis/fix.lisp

But there is good documentation for Hemlock and
the source code looks good, too.

http://www.cons.org/cmucl/hemlock/index.html

>
> >
> > | Hemlock is an Emacs variant written in Common Lisp.
> > | It has been adapted in other implementations, too. Though it
> > | needs more work. OpenMCL for example comes with Hemlock
> > | adapted to the Mac. It still looks a bit ugly, but I expect that
> > | OpenMCL hacking gets more practical once the IDE runs on
> > | the Intel Macs (which it doesn't do with the current OS,
> > | but it will with the next OS).
> >
> > How would you compare LW's editor with Hemlock? I'd suspect they share
> > the same codebase, with LW being a cleaned up well packaged version.
>
> LW's editor is a Hemlock derivative it seems - but the code has been
> hacked on for some time. Basically the LW editor runs under
> X11/Motif, Cocoa/Mac OS and Windows. So it is ported to
> several GUIs via the cross-platform GUI toolkit of LispWorks.
> The editor is totally sufficient for Lisp development, but
> it lacks a few things (like better font support).

LispWorks' editor does font highlighting, but lacks a few of
the Hemlock modes. LispWorks has for many tools own
windows, which are not editor. LispWorks has a menubar.

Rob Warnock

unread,
Sep 22, 2007, 6:23:37 AM9/22/07
to
Klaus Schilling <schilli...@web.de> wrote:
+---------------

| > I'm sure this is not true. You can build and Use Hemlock without motif.
|
| does lesstif work ?
+---------------

(*sigh*) As Madhu saidjust , Hemlock DOES NOT USER MOTIF (or lesstif);
only the separate, optional CMUCL graphical debugger/inspector does!!

However, if you're asking about whether lesstif can be used instead
of Motif WITH THE SEPARATE, OPTIONAL GRAPHICAL DEBUGGER/INSPECTOR,
then the answer is: Yes, I think so. In fact, ISTR doing so at some
point before Open-Motif came out [but I could be misremembering]...


-Rob

-----
Rob Warnock <rp...@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607

David Trudgett

unread,
Sep 22, 2007, 9:39:08 PM9/22/07
to
Ken Tilton <kenny...@optonline.net> writes:

> David Trudgett wrote:
>
>> First of all, I'm not a newbie any more.
>
> Check again:
>
> (defun flatten (tree)
> "Flatten the structure of an arbitrarily deeply nested list (tree)"
> (cond ((atom tree) (list tree))
> (t (remove nil (append (flatten (car tree))
> (flatten (cdr tree)))))))
>

> I don't know where to begin, other than to admire the density of noob
> errors. That REMOVE is hilarious, btw, too bad so many people will
> miss the joke. Nice touch, tho.

I don't get it, Kenny, mah boy. You dig up an old bit of code from one
of my first CL programs in 2004, and try to claim that that shows that
three years later I am a CL newbie... interesting. In any case, of
course I am a newbie compared to his Kennyness. Everyone knows that.
It's a given.


>
>> Second, I know the history of c.l.l., as do you, and it is not one of
>> zero tension between secret software zealots like Kenny...
>
> ...who has written more open software than you have used, and unlike
> FSF zealots licensed it without encumbrance.

Got your VC for commercial Cells, yet?

>
>> others, and those with a preference for Free Software. One camp kneels
>> at the twin altar of expediency and the "free market", and the other
>> holds personal freedom or ethics as a critical value to safeguard.
>
> Free, free, free. You use that word so much. I do not think it means
> what you think it means.

I've built up an immunity to iocaine.

Cheers,
David

--
These are not the droids you are looking for. Move along.

Madhu

unread,
Sep 23, 2007, 7:15:35 AM9/23/07
to
Helu
* Rainer Joswig <joswig-EA6437....@news-europe.giganews.com> :
[...]

| Hemlock does use 'slave' Lisps for Lisp interaction
| (like Emacs' inferior Lisp). You get a slave Lisp
| via M-x Select Slave or C-M-c .
|
|
| Screenshot: http://lispm.dyndns.org/news?ID=NEWS-2007-08-12-1
|
|
| I have seen (just) one customization example for Hemlock:
|
| http://www.ltn.lv/~jonis/.hemlock-init.lisp
| http://www.ltn.lv/~jonis/fix.lisp

Martin Rydstr|m (Rydis), RIP, was the last user of CMUCL hemlock that I
heard of.

| But there is good documentation for Hemlock and
| the source code looks good, too.
|
| http://www.cons.org/cmucl/hemlock/index.html

Apparently Gilberth has put up his copy of portable hemlock on c-l.net

http://common-lisp.net/project/phemlock

His hemlock manual is up (today)

http://bauhh.dyndns.org:8000/hemlock-manual/

|> > | Hemlock is an Emacs variant written in Common Lisp.
|> > | It has been adapted in other implementations, too. Though it
|> > | needs more work. OpenMCL for example comes with Hemlock
|> > | adapted to the Mac. It still looks a bit ugly, but I expect that
|> > | OpenMCL hacking gets more practical once the IDE runs on
|> > | the Intel Macs (which it doesn't do with the current OS,
|> > | but it will with the next OS).
|> >
|> > How would you compare LW's editor with Hemlock? I'd suspect they share
|> > the same codebase, with LW being a cleaned up well packaged version.
|>
|> LW's editor is a Hemlock derivative it seems - but the code has been
|> hacked on for some time. Basically the LW editor runs under
|> X11/Motif, Cocoa/Mac OS and Windows. So it is ported to
|> several GUIs via the cross-platform GUI toolkit of LispWorks.
|> The editor is totally sufficient for Lisp development, but
|> it lacks a few things (like better font support).
|
| LispWorks' editor does font highlighting, but lacks a few of
| the Hemlock modes. LispWorks has for many tools own
| windows, which are not editor. LispWorks has a menubar.

IIRC around 2003 I could not get Hemlock working reliably in the same
CMUCL process. I felt the important thing ("killer environment") was for
the editor to access the running image (without crashing it!) --- so not
running lisp as a slave process process was important. This boils down
to tight integration between the various parts of the implementation (MP
etc) and #'ED. I guess LW have invested what it takes and have been
upto the task.
--
Madhu

Giorgos Keramidas

unread,
Sep 22, 2007, 10:48:33 PM9/22/07
to
On Wed, 19 Sep 2007 11:21:58 +0200, Frank Goenninger DG1SBG <dont-e...@nomail.org> wrote:
> In ACL, when I fire up the raw Lisp implementation, I can type
>
> CL-User> :processes
>
> and I get a list of currently running "processes". When in Slime I get
> just :PROCESSES as a result. Made me write a small tool bound to a
> function key ... So, yes, not that good.

I'm not so sure this is a propery of Slime, as I get exactly the same
result as your second description when I run SBCL in a terminal without
Slime too:

% $ sbcl
% This is SBCL 1.0.9, [...]
% * :processes
%
% :PROCESSES
% *

Surely it's not exactly a "bug" in Slime that it doesn't implement a
bug-for-bug compatible feature set maching ACL's various tricks.

In this case :processes is a keyword, and I'm not sure if the CLHS
requires that its value is ``a list of the active processes'', but
I think it's a relatively safe bet that it doesn't.

Having said that, it's a pretty cool & useful feature of ACL :-)

Giorgos Keramidas

unread,
Sep 24, 2007, 10:55:16 AM9/24/07
to
On Thu, 20 Sep 2007 11:43:51 +0200, Rainer Joswig <jos...@lisp.de> wrote:
> Now Emacs. Let's take Aquamacs.
>
> Double Click Aquamacs. Now what? Ten thousand commands and a million
> lines of Emacs Lisp. But no Common Lisp.
>
> Now install Common Lisp. The usual Unix stuff. Not that hard, but it
> takes some minutes. Then do some basic setup so that you can call the
> implementation with some simple command. No double clickable
> app. Okaaaaaay.
>
> Now SLIME. Take the SLIME that comes with Aquamacs. Outdated. Good
> chance that it will not work and you struggle for some time. Time to
> get a newer version. But which one? I use CMUCL on an Intel Mac. Need
> to get the newest or patch it yourself. Try one from the source
> repository? But which one? What is a useful version? The latest
> source currently seem to broken in some features quite often. Which
> was the last stable version. Okay, we will find out.
>
> We got SLIME. Now how to integrate it with Emacs. Read the
> instructions. We are now typing Emacs Lisp - but we just wanted to do
> Common Lisp. Now how to call Common Lisp from Emacs. We find out.
>
> Newbie time to REPL with SLIME/Emacs? A day.
> How many stuff distracts you from the Common Lisp REPL?
> A zillion! Learned new useless concepts? Hundreds.

You know, things have progressed a fair amount since things *had* to be
done this way:

# apt-cache search slime
cl-swank - Superior LISP Interaction Mode for Emacs (Lisp-side server)
sbcl-source - Source code files for SBCL
slime - Superior LISP Interaction Mode for Emacs
stumpwm - a Common Lisp window manager
# apt-get install slime

Then run Emacs, and type `M-x slime'.

That took me all of 20 seconds to type on my aging Debian installation,
and I was up and running a very short while later. I'm not an Emacs
newbie, though, so my personal experience with Slime installations
doesn't really count as "the objective truth for everyone in the world".

- Giorgos

gavino

unread,
Sep 24, 2007, 5:39:55 PM9/24/07
to
On Sep 18, 10:44 am, Carlo Capocasa <the...@carlocapocasa.com> wrote:
> A quick discussion in the previous 'Learning Lisp from Scratch'
> thread lead me to spontaneously write a short article for newbies on
> how to get started with lisp less painfully.
>
> Feedback appreciated!
>
> --
>
> HOW TO LEARN LISP
>
> Step 1: When you see Emacs, turn around and run
>
> I'm new to this fantastic new language called lisp(1), and I decided
> the best person to teach someone new is someone new. Only someone
> new can truly understand the unique challanges of being new. To a
> young man fresh in the dating game, the advice of a happily married
> elder to treat a woman with care, affection and respect will
> probably yield a lot of awquard situations until he has overcome his
> fear of rejection, while his friend yelling "You got to put the
> MOOOOOOVES on those honeys!" might help him to do just that. Before
> I can go on to uncover some of the miracles our elders have promised
> me lie to be discovered in Lisp, I need to overcome a few very
> practical obstacles that have absolutely nothing to do with the Way
> of Lisp; but overcoming them will expose me to the Way of Lisp, and
> I'm sure that will be worth the trouble. Writing this, I'd like to
> bring some of you along.
>
> An Integrated Development environment is a program that you can fire
> up and start doing something useful with a new language immediately.
> Lisp has one of those, and it's called 'Slime'. (Charming, isn't
> it?). Unfortunately, it's built on a beast of a text editor called
> Emacs which is supposed to be all-powerful. I wouldn't doubt it is
> extremely versatile and useful, because it has evolved through years
> of being used for hard-core hacking; loads and loads of the most
> valuable Software today must have been created with it. Each and
> every one of us undoubtedly owe a great debt to Emacs.
> Unfortunately, that doesn't make it any easier to learn to use when
> you've grown up with the heavily GUI-laden OSes of the 90s and 00s.
> So you're going to learn to use an obscure text-editor that follows
> 70s UNIX paradigms rather than 90s Desktop paradigms at the same
> time as you're learning an obscure programming language? There's got
> to be a better way to do this.
>
> My approach in learning LISP has been simpler than inheriting all
> the baggage at once. It is not about cloning what our elders are
> doing now, but developing from our own situation just like they did
> when they were young.
>
> As for starting to work with LISP, I suggest you simply download one
> of the distributions without any IDE attached to it. I used Steel
> Bank Common Lisp because it felt fresh to me. Be sure to download
> the binary version, unpack it somewhere, and open its executable in
> a terminal. This will give you a Lisp prompt where you can start
> typing in what you will be learning in all the tutorials that have
> to do with the language itself, and finding out what you typed returns.
>
> When you've done a little typing, you can start opening a text
> editor you're comfortable with, and saving it to "something.lisp" in
> the same directory you started Lisp executable from. You can then
> load what you wrote into Lisp by typing (load "something.lisp").
>
> For your pure pleasure, you can even compile something.lisp into an
> executable. With SBCL, this is what to paste into your terminal:
>
> (require 'asdf)
> (require :sb-executable)
> (compile-file "something")
> (sb-executable:make-executable "something" "something.fasl")
>
> Of course, it is always a good idea to let the first something you
> compile be a file containing this:
>
> (format t "Hello, World!~%")
>
> Now that you can play with real code, you're ready to start learning
> the language.
>
> I would recommend starting with this book:
>
> http://franz.com/support/documentation/6.2/ansicl/ansicl.htm

I noticed that Paul Graham used the vi editor. So if the code you
write does what you want, and your parens 'match' and other syntax is
ok, it seem to not matter what editor you use. More important are the
details of how to load existing definitions, 'macros', and other
libraries when you come back to your code so as to be able to build
upon your work so far. I myself am going though some of the common
lisp hyperspec as I read touretsky's book to find this information.

Ken Tilton

unread,
Sep 24, 2007, 7:08:57 PM9/24/07
to

David Trudgett wrote:
> Ken Tilton <kenny...@optonline.net> writes:
>
>
>>David Trudgett wrote:
>>
>>
>>>First of all, I'm not a newbie any more.
>>
>>Check again:
>>
>>(defun flatten (tree)
>> "Flatten the structure of an arbitrarily deeply nested list (tree)"
>> (cond ((atom tree) (list tree))
>> (t (remove nil (append (flatten (car tree))
>> (flatten (cdr tree)))))))
>>
>>I don't know where to begin, other than to admire the density of noob
>>errors. That REMOVE is hilarious, btw, too bad so many people will
>>miss the joke. Nice touch, tho.
>
>
> I don't get it, Kenny, mah boy. You dig up an old bit of code from one
> of my first CL programs in 2004, and try to claim that that shows that
> three years later I am a CL newbie... interesting.

btw, the correct way to put me in my place would have been to fix the
frickin code. You did not do that....interesting.

:)

kenny

Mike G.

unread,
Sep 25, 2007, 1:35:12 PM9/25/07
to
On Sep 24, 7:08 pm, Ken Tilton <kennytil...@optonline.net> wrote:
> David Trudgett wrote:
> > Ken Tilton <kennytil...@optonline.net> writes:
>
> >>David Trudgett wrote:
>
> >>>First of all, I'm not a newbie any more.
>
> >>Check again:
>
> >>(defun flatten (tree)
> >> "Flatten the structure of an arbitrarily deeply nested list (tree)"
> >> (cond ((atom tree) (list tree))
> >> (t (remove nil (append (flatten (car tree))
> >> (flatten (cdr tree)))))))
>
> >>I don't know where to begin, other than to admire the density of noob
> >>errors. That REMOVE is hilarious, btw, too bad so many people will
> >>miss the joke. Nice touch, tho.
>
> > I don't get it, Kenny, mah boy. You dig up an old bit of code from one
> > of my first CL programs in 2004, and try to claim that that shows that
> > three years later I am a CL newbie... interesting.
>
> btw, the correct way to put me in my place would have been to fix the
> frickin code. You did not do that....interesting.
>
> :)
>
> kenny
>
> --http://www.theoryyalgebra.com/

>
> "We are what we pretend to be." -Kurt Vonnegut

But, Kenny .. if he PRETENDS to not be a noob, code not-with-standing,
doesn't this imply
that he isn't?

Just wondering :)

-M

Damien Kick

unread,
Sep 26, 2007, 4:35:47 PM9/26/07
to
David Trudgett wrote:
> Hello Rainer,
>
> Rainer Joswig <jos...@lisp.de> writes:
>
>>>> ACL and LispWorks are cross-platform. I usually try to
>>>> use the best tool for learning. The best tool is not
>>>> necessarily the one that costs less or is 'free'.
>>> Rainer, you know very well that when Carlo said he is a strong
>>> believer in Open Source and is looking for Free Software, that he
>>> wasn't talking about price. Why are you being deliberately obtuse?
>> I mentioned 'free'? Did you see that? Last word in the paragraph.
>
> So, what you are saying is that it is not being deliberately obtuse to
> mention the ambiguous word 'free' just after the ambiguous word 'or'
> just after the phrase 'costs less', and that this is not deliberately
> associating the word 'free' with 'costs less'.
>
> Did the OP even mention he was looking for cheap software? Not as I
> recall. He, in fact, /said/ that he was looking for Free Software, not
> low cost or zero cost software, because he is a strong believer in
> open source.

I just checked and even the stupid dictionary makes the mistake of
thinking that free has something to do with money.

<blockquote>
5 given or available without charge : free health care.
</blockquote>

It's almost as if the English language were conflating all kinds of
different concepts into the same word, thereby implying somehow that
things like "not under the control or in the power of another; able to
act or be done as one wishes", "not physically restrained, obstructed,
or fixed; unimpeded", "using or expending something without restraint;
lavish", and "given or available without charge" share some kind of
common theme. Stupid fucking English language! How in the world could
anyone think that commerce, power, and governance intersect? If they
did, a word like socioeconomic would make sense, which clearly it does
not. Clearly, we need to clean up the English language. Fewer words
which mean less things. Get rid of all the clutter. How about
something like use-double-plus-good because you can use the software as
intended but it is also intended to be modified so that you can use it
really well. Gets rid of all that nasty messy freedom business.
Complicated word. Besides, you were always really intended to use the
software in this way so you really are using it as its creator wanted it
to be used. Where is the choice in that? We wouldn't want to choose
something that the creator had not intended in the first place, would we?

There, glad that's solved. Carlos only wants software he can
use-double-plus-good, not software he can only use.

George Neuner

unread,
Sep 26, 2007, 7:52:35 PM9/26/07
to
On Wed, 26 Sep 2007 15:35:47 -0500, Damien Kick <dk...@earthlink.net>
wrote:

>
>I just checked and even the stupid dictionary makes the mistake of
>thinking that free has something to do with money.
>
><blockquote>
>5 given or available without charge : free health care.
></blockquote>

You have a crappy dictionary ... probably a grade school edition.

I have an 1980 ed. unabridged Webster's Dictionary (7 inches thick)
that lists 22 meanings/usages for "free". It first mentions
"remuneration", aka payment, in #8.

Look at http://dictionary.reference.com/browse/free. It lists 36
meaings/usages for "free" and payment isn't mentioned until #11. The
word "money" doesn't appear until #36.

>It's almost as if the English language were conflating all kinds of
>different concepts into the same word, thereby implying somehow that
>things like "not under the control or in the power of another; able to
>act or be done as one wishes", "not physically restrained, obstructed,
>or fixed; unimpeded", "using or expending something without restraint;
>lavish", and "given or available without charge" share some kind of
>common theme. Stupid fucking English language! How in the world could
>anyone think that commerce, power, and governance intersect? If they
>did, a word like socioeconomic would make sense, which clearly it does
>not. Clearly, we need to clean up the English language. Fewer words
>which mean less things. Get rid of all the clutter. How about
>something like use-double-plus-good because you can use the software as
>intended but it is also intended to be modified so that you can use it
>really well. Gets rid of all that nasty messy freedom business.
>Complicated word. Besides, you were always really intended to use the
>software in this way so you really are using it as its creator wanted it
>to be used. Where is the choice in that? We wouldn't want to choose
>something that the creator had not intended in the first place, would we?

Double plus barf!

The common thread in all the meanings is "being unencumbered". If you
aren't able to discern the simple pattern in the meanings, or if you
have to look up "unencumbered", then there is no hope for you. If you
hate English so much, you're free to go somewhere where it isn't
spoken. And here's a tip - most places where English isn't spoken
aren't "free". That probably won't bother you much though because you
can't figure out what "free" means.

George
--
for email reply remove "/" from address

Damien Kick

unread,
Sep 26, 2007, 8:52:49 PM9/26/07
to
George Neuner wrote:

> I have an 1980 ed. unabridged Webster's Dictionary (7 inches thick)

My, you have such a big <blush> dictionary.

>> How about
>> something like use-double-plus-good because you can use the software as
>> intended but it is also intended to be modified so that you can use it
>> really well.
>

> Double plus barf!

Double plus barf, indeed. I know I'm digging a little bit with this,
but I think it's kind of ironic that your <blush> big dictionary is from
1980.

Matthias Buelow

unread,
Sep 26, 2007, 8:57:01 PM9/26/07
to
Damien Kick wrote:

> Double plus barf, indeed. I know I'm digging a little bit with this,
> but I think it's kind of ironic that your <blush> big dictionary is from
> 1980.

Clearly the definition of "free" has changed since 1980. I mean, the FSF
didn't even exist in 1980!

Damien Kick

unread,
Sep 26, 2007, 9:22:09 PM9/26/07
to

(Thanks for the lead-in, Matthias.) Indeed, the FSF started in 1984.
(Well, actually it was 1985 but it sounds better this way.) Only five
years after The Big Dictionary, and already the word "free" has less
meaning that it did in 1980. And here in 2007 we've got Neuner freewise
using duckspeak. Hell, why even use "free" for anything when
"unencumbered" already does the job so well? Too many syllables,
though. But we do appreciate the attempt to simplify, George.

Kent M Pitman

unread,
Sep 26, 2007, 11:30:34 PM9/26/07
to
George Neuner <gneuner2/@comcast.net> writes:

> The common thread in all the meanings [of "free"] is "being unencumbered".

Which is why, of course, some people (myself included) don't like the
term "free software", which places restrictions on use.

It's like claiming you have freedom of speech and then telling people
that doesn't give you the right to speak offensively. If the only
kind of speech to be protected were non-offensive, no one would have
bothered to make a rule protecting it. Outlawing offensive speech
does not make the world more free, it trades one person's freedom for
another's. It may sometimes be a reasonable thing to do, but calling
it an unambiguous exercise of freedom is very dangerous because it
introduces the precendent that shifts of balance of power require no
scrutiny, no justification, and no labeling.

It's also like having the Patriot Act and then wondering why people
are still talking about the content of the act... after all, isn't
having a good name enough and isn't it kind of unpatriotic to be
questioning a Patriot Act?

So while it's completely possible and appropriate under copyright law
to make contractual license restrictions with people, encumbering the
derivative uses of things the content creator makes, calling such
restrictions "freedom" is really very 1984.

And it teaches bad civics. It encourages people to take things by
their label and to question neither the content nor the case-by-case
effect. Rather it encourages one to just to accept as a lemma that
a nice simple name implies a uniformly good and reliably effective
and unchallengeably correct effect.

> If you aren't able to discern the simple pattern in the meanings, or if
> you have to look up "unencumbered", then there is no hope for you.
> If you hate English so much, you're free to go somewhere where it isn't
> spoken.

I don't think this tone is appropriate.

And I think you'll find the word unencumbered does not, as a matter of
fact, refer fairly to the GPL.

webster.com says...
unencumbered: free of encumbrance
encumbrance: something that encumbers: impediment, burden
impediment: something that impedes
impede: to interfere with or slow the progress of

Certainly the GPL interferes with and slows the progress of certain
activities. To say that it doesn't do that to all things is to say
the obvious. The GPL is a player in a global tug-of-war over
intellectual property. It is not a neutral player. To have a
tug-of-war is to pull a rope in two directions at once (let's say left
and right), and while it's truthful to say that a tug-of-war involves
pulling to the left, since it also involves pulling the other way,
it would be marginal as a point of good labeling to rename tug-of-war
to merely "leftward-pulling of rope".

Matthias Benkard

unread,
Sep 27, 2007, 8:38:44 AM9/27/07
to
> Which is why, of course, some people (myself included) don't like the
> term "free software", which places restrictions on use.

The FSF does not define free software by restrictions, but by certain
permissions:

http://www.fsf.org/licensing/essays/free-sw.html

In essence, what you say is right, of course. Calling some software
free while calling other software non-free, allowing certain
restrictions for ``free'' software, makes the meaning less clear.
Then again, freedom is quite a murky concept that you can argue about
all day long, anyway, so maybe it's exactly the right term for this
kind of thing. :)

After all, many people call our western civilisations ``free'', which
I personally don't agree with at all. Freedom is in the eye of the
beholder -- or is it?

~ Matthias

Kamen TOMOV

unread,
Sep 27, 2007, 9:17:00 AM9/27/07
to
On Thu, Sep 27 2007, Matthias Benkard wrote:

>> Which is why, of course, some people (myself included) don't like the
>> term "free software", which places restrictions on use.
>
> The FSF does not define free software by restrictions, but by certain
> permissions:

It is a marketing trick - when you praise something you talk about its
features, not drawbacks.

It resembles the nonsense "GNU's Not Unix".

--
Камен

raffaelc...@gmail.com

unread,
Sep 27, 2007, 4:06:41 PM9/27/07
to
On Sep 26, 11:30 pm, Kent M Pitman <pit...@nhplace.com> wrote:

> So while it's completely possible and appropriate under copyright law
> to make contractual license restrictions with people, encumbering the
> derivative uses of things the content creator makes, calling such
> restrictions "freedom" is really very 1984.

Nicely put. Freedom cannot be defined as being allowed to use a work
only in those ways it's author approves of.

Ken Tilton

unread,
Sep 27, 2007, 5:12:01 PM9/27/07
to

Maybe they could call it "free-range software", out there with the
chickens and cattle, don't fence me in, let me ride through the wide
open software prairies that I love software.

The silly thing was trying to infect other software. Don't have the
lyrics for that ... hang on... I know I got it comin, I know I can't be
free, but if they freed me from this prison....throw me a fish, will
someone?

kenny

--

Fred Gilham

unread,
Sep 28, 2007, 3:58:16 PM9/28/07
to

Something to keep in mind about all this, that just got brought home
again when I saw the Symbolics bit-torrent yesterday (and the
interesting comment by dkschmidt about it). Check out lemonodor.com
for details.

Anyway...

Stallman was reacting to the change at his beloved MIT AI lab from a
free-wheeling open environment to one dominated by concerns about
intellectual property. This was the time of LMI and Symbolics. To
Stallman this was literally the destruction of his world.

What brought this home was the realization that the vaunted
intellectual property that Symbolics made so much of is now in a kind
of limbo. I wonder how many of the people who poured their energy and
genius into the incredible Symbolics software are pleased to see how
it has all turned out.

As the quote goes,

"Fool! This night your soul is required of you; and the things you
have prepared, whose will they be?"

--
Fred Gilham gil...@csl.sri.com
Central bankers don't trust each other. They know how easy it is to
create money out of nothing. They hold dollar-denominated assets, such
as U.S. Treasury-bills, because they can earn interest --- not much
these days --- but they settle their final accounts with each other in
gold. --- Gary North

Rainer Joswig

unread,
Sep 28, 2007, 4:33:40 PM9/28/07
to
In article <u7k5qaz...@snapdragon.csl.sri.com>,
Fred Gilham <gil...@snapdragon.csl.sri.com> wrote:

> Something to keep in mind about all this, that just got brought home
> again when I saw the Symbolics bit-torrent yesterday (and the
> interesting comment by dkschmidt about it). Check out lemonodor.com
> for details.
>
> Anyway...
>
> Stallman was reacting to the change at his beloved MIT AI lab from a
> free-wheeling open environment to one dominated by concerns about
> intellectual property. This was the time of LMI and Symbolics. To
> Stallman this was literally the destruction of his world.

Yeah, free-wheeling open environment. Not. All paid for by US
military (DARPA). Someone paid the show. Nothing was 'free'.
Being paid by the military was fine - they financed
it and eventually the took the results when they needed it.

Just reading Steven Levy's "Hackers - Heroes of the Computer Revolution"
which writes a bit about the AI Lab and its history and fate.

> What brought this home was the realization that the vaunted
> intellectual property that Symbolics made so much of is now in a kind
> of limbo.

The property is definitely owned by somebody. Though
the ownership may change (or already has).

> I wonder how many of the people who poured their energy and
> genius into the incredible Symbolics software are pleased to see how
> it has all turned out.

The fate of Symbolics was not a question of free vs. closed
software. It was a failing business. LMI (Lisp Machines)
had the same fate. TI (Lisp Machines) also. Lucid (Lisp vendor),
too. Xerox' Lisp Machines were also failing in the market,
eventually.

I think it is fine that GNU Emacs is there and survived,
but it is now a just a surviving dinosaur.

>
> As the quote goes,
>
> "Fool! This night your soul is required of you; and the things you
> have prepared, whose will they be?"

--
http://lispm.dyndns.org

Damien Kick

unread,
Sep 29, 2007, 12:10:01 AM9/29/07
to
Rainer Joswig wrote:
> In article <u7k5qaz...@snapdragon.csl.sri.com>,
> Fred Gilham <gil...@snapdragon.csl.sri.com> wrote:
>
>> Something to keep in mind about all this, that just got brought home
>> again when I saw the Symbolics bit-torrent yesterday (and the
>> interesting comment by dkschmidt about it). Check out lemonodor.com
>> for details.
>>
>> Anyway...
>>
>> Stallman was reacting to the change at his beloved MIT AI lab from a
>> free-wheeling open environment to one dominated by concerns about
>> intellectual property. This was the time of LMI and Symbolics. To
>> Stallman this was literally the destruction of his world.
>
> Yeah, free-wheeling open environment. Not. All paid for by US
> military (DARPA). Someone paid the show. Nothing was 'free'.
> Being paid by the military was fine - they financed
> it and eventually the took the results when they needed it.

I still believe that the intersection of commerce, governance, culture,
etc. and its relationship to the use of the word "free" is a rather
complicated topic. Yes, DARPA paid for the MIT AI lab. There are many
who would argue that this complicates the issue of intellectual property
rights. For example, some would ask how LMI (of which I've actually
never heard before now) or Symbolics can claim to own intellectual
property which is the result of public funding? Consider the following
quote from Noam Chomsky:

<blockquote cite="http://www.chomsky.info/interviews/200111--.htm">
The pharmaceutical companies will tell you that they need this
super-extreme patent regime because they put so much money into research
and development which results in all sorts of wonderful drugs. That is
all nonsense. Take the case of the U.S. About half the expenditures for
research and development comes from the public anyway. Moreover, that is
an underestimate because it only includes the applications that grow out
of fundamental biology, but do not count fundamental biology, which is
entirely from the public. If you look at the part that the corporations
actually do, a lot of it is useless and mainly for business reasons -
copycat drugs. The part that is played by public funding plays the
constructive role. As a believer in capitalism would do, if you
increased the public contribution to 100 per cent and eliminated the
pretext and forced the companies to sell their drugs on the market,
prices would go way down and result in huge gains for consumers. But
that is not acceptable. Neoliberalism is mostly fraud.
</blockquote>

Whether or not someone reading this agrees this position expressed by
Chomsky above, I don't know how anyone could honestly pretend that these
topics are simple and obvious. I think that defining the word "free" is
complicated, as The Big Dictionary shows us with all of the various
definitions associated with the word.

And that is why I find all of these language mavens running around
claiming they have a lock on a phrase like "free software" to be so
annoying. It seems to be so unrepentantly ideological. IMO, Lawrence
Lessig has written some rather more nuanced material in support of the
idea of "[promoting] the freedom to distribute and modify creative
works, using the Internet as well as other media." I'm sure that Lessig
will also be very relieved to hear that I personally have no problem
with the choice of the term "Free Culture". As a phrase, it has no need
for legions of defenders explaining that, no, it does not mean that
which most people tend to think it means but rather your must think it
means what someone else wants it to mean. But I also think it is
telling that

<blockquote cite="http://en.wikipedia.org/wiki/Free_Culture_movement">
The free culture movement takes the ideals of free software movement and
extends them from the field of software to all cultural and creative
works. At the beginning, Richard Stallman (founder of the Free Software
Foundation and the free software movement) supported the Creative
Commons, but at some point he rejected it:

I no longer endorse Creative Commons. I cannot endorse Creative Commons
as a whole, because some of its licenses are unacceptable. It would be
self-delusion to try to endorse just some of the Creative Commons
licenses, because people lump them together; they will misconstrue any
endorsement of some as a blanket endorsement of all. I therefore find
myself constrained to reject Creative Commons entirely.
</blockquote>

It just seems like such a narrow point of view. The whole of Creative
Commons must be rejected because it wants to provide licenses for people
which are more (or less) restrictive, depending on if you view it from
the left or the right, than that which Stallman wants. It must be all
or nothing. It just seems so much more reasonable to try to help people
with licenses which might be a bit more "middle of the road" so that
they do not have to choose between the rock and a hard place. If one
does not automatically reject someone because they only half agree with
you, then you still get a chance to benefit from the half with which you
do agree. Worse is better. <pause> Or something like that.

ob-lisp: <pause type="For a really long time with lots of guilty
expressions"> Lisp rules!

Kent M Pitman

unread,
Sep 29, 2007, 2:00:01 AM9/29/07
to
Rainer Joswig <jos...@lisp.de> writes:

> Yeah, free-wheeling open environment. Not. All paid for by US
> military (DARPA). Someone paid the show. Nothing was 'free'.
> Being paid by the military was fine - they financed
> it and eventually the took the results when they needed it.

I'm not sure the precise point you're intending to make here so I'll just
speak generally to this topic without regard to whether I am responding
specifically to your intent.

There are two issues that play in:

(a) what were the terms of agreement between the funding agency and the
academic or commercial entity doing development at the time funding
was granted, not after the fact.

(b) even if the government had a right to get the software back in the
name of recovering its investment, is the GPL an appropriate vehicle
to represent the US public interest.

I'm not sure about all the details of (a) so will decline to comment
at this time.

But with regard to (b), the GPL singles out particular business models
and says "if you're not doing it this way, this software is not for
you ... even if we used some of your tax dollars to fund this work".

I'm not sure that, even if it has the power, the US government should
be dictating that level of business model. It's fine for a private
individual to legally leverage their own private intellectual property
stake toward their own private political ends, it seems inappopriate
for any duly authorized agent of the US Government to serve his own
political ends or those of favored constituents by reifying such
private political preference settings into public policy by deploying
software under viral political restrictions.

By the way, an example of where the government has taken sides in this
way would be DOE Maxima, where it's my understanding that this was (I
think quite inappropriately) released by the US Government in recent
years under GPL. I think this should have been a BSD or other
similarly politically neutral license for this publicly funded work,
and I am frankly surprised that some business or another that wanted
to incorporate this work into their own products has not sued the
government for the rights to do so.

(Perhaps someone will argue that the lack of any such suit is some
kind of existence proof that no one had such a desire to use this
software in another mode than GPL, but I SERIOUSLY doubt that. I
personally think it more likely that there WERE people who pondered
such uses of the software but either didn't think to challenge the
government's choice of license, didn't have the time/money to pursue
the matter formally, or were unable to construct an appropriate legal
argument... which MIGHT not mean there wasn't such an argument to be
made.)

IMO, the entire GPL issue is something of a holy war, and seems to me,
given the religious fervor with which GPL evangelism is often
prosecuted, that it's not much of a stretch to say that the US
Government taking a side in the matter ought reasonably to be seen as
a violation of the establishment clause of the First Amendment to the
US Constitution ... or, if not that, at least a violation of the
general maxim of "no taxation without representation". (That is,
having paid taxes that fund DARPA, shouldn't one be entitled to share
in the benefits of such work?)

All just my personal opinion.

Cesar Rabak

unread,
Sep 29, 2007, 3:54:57 PM9/29/07
to
Damien Kick escreveu:
[snipped]

> It just seems like such a narrow point of view. The whole of Creative
> Commons must be rejected because it wants to provide licenses for people
> which are more (or less) restrictive, depending on if you view it from
> the left or the right, than that which Stallman wants. It must be all
> or nothing.

It seems so, but...

> It just seems so much more reasonable to try to help people
> with licenses which might be a bit more "middle of the road" so that
> they do not have to choose between the rock and a hard place. If one
> does not automatically reject someone because they only half agree with
> you, then you still get a chance to benefit from the half with which you
> do agree. Worse is better. <pause> Or something like that.

I think the issue becomes "what middle" is what? You see now companies
bragging they 'support' open software, but when you look at their
corporate practices you discover their cash cows are thoroughly closed
whereas the applications or systems they 'support' have a clear aim to
undermine some competitor profit or market share.

So this "Worse is better" pulled out of context or just labeling R.M.S
as radical is as unreasonable as they detractors.

just my .019999....

--
Cesar Rabak

Cor Gest

unread,
Sep 29, 2007, 6:29:47 PM9/29/07
to

Some entity, AKA Cesar Rabak <csr...@yahoo.com.br>,
wrote this mindboggling stuff:
(selectively-snipped-or-not-p)

> So this "Worse is better" pulled out of context or just labeling R.M.S
> as radical is as unreasonable as they detractors.

The 'FREE' (of FOSS) relates to YOU as the USER of all the code-crap,
not the maker, vendor or any other entity.

Cor

--
(defvar MyComputer '((OS . "GNU/Emacs")(IPL . "GNU/Linux")))
If all fails to satisfy you read the HyperSpec or info woman
Proud member of the Spamipuku Elite
http://www.clsnet.nl/mail.php

Cesar Rabak

unread,
Sep 29, 2007, 6:41:04 PM9/29/07
to
Cor Gest escreveu:

>
> Some entity, AKA Cesar Rabak <csr...@yahoo.com.br>,
> wrote this mindboggling stuff:
> (selectively-snipped-or-not-p)
>
>> So this "Worse is better" pulled out of context or just labeling R.M.S
>> as radical is as unreasonable as they detractors.
>
> The 'FREE' (of FOSS) relates to YOU as the USER of all the code-crap,
> not the maker, vendor or any other entity.
>
With this very complete and out of context citation I can't see the
connection...

Do you mind elaborate?

Cor Gest

unread,
Sep 29, 2007, 8:24:26 PM9/29/07
to
Some entity, AKA Cesar Rabak <csr...@yahoo.com.br>,
wrote this mindboggling stuff:
(selectively-snipped-or-not-p)

> With this very complete and out of context citation I can't see the


> connection...
>
> Do you mind elaborate?

NO
Which IS the FREE I give myself.

George Neuner

unread,
Sep 30, 2007, 12:52:21 AM9/30/07
to
On 26 Sep 2007 23:30:34 -0400, Kent M Pitman <pit...@nhplace.com>
wrote:

>George Neuner <gneuner2/@comcast.net> writes:


>
>> The common thread in all the meanings [of "free"] is "being unencumbered".

>So while it's completely possible and appropriate under copyright law
>to make contractual license restrictions with people, encumbering the
>derivative uses of things the content creator makes, calling such
>restrictions "freedom" is really very 1984.

Under US law, contract law supersedes all other civil law, including,
theoretically, copyright law. However, since the DMCA (1996), US
copyright law defines certain behaviors as "criminal" and levies
penalties for engaging in them so I'm not sure it actually *is* civil
law anymore.

Technically, copyright is independent of contracted license. The law
defines "default" rights for the author and a framework of default
compensation for use of the author's work in the absence of the
explicit permission.

The GPL is a contracted license - technically it's an example of a
"one-sided" contract in which the parties have unequal stature.
One-sided contracts are legal - whether they are ethical is a
different question.


>And it teaches bad civics. It encourages people to take things by
>their label and to question neither the content nor the case-by-case
>effect. Rather it encourages one to just to accept as a lemma that
>a nice simple name implies a uniformly good and reliably effective
>and unchallengeably correct effect.

Symbolism over substance - the mantra of today's society.


>> If you aren't able to discern the simple pattern in the meanings, or if
>> you have to look up "unencumbered", then there is no hope for you.
>> If you hate English so much, you're free to go somewhere where it isn't
>> spoken.
>
>I don't think this tone is appropriate.

I was having a bad day. I apologize to Dick and to anyone else who
was offended.


>And I think you'll find the word unencumbered does not, as a matter of
>fact, refer fairly to the GPL.
>
> webster.com says...
> unencumbered: free of encumbrance
> encumbrance: something that encumbers: impediment, burden
> impediment: something that impedes
> impede: to interfere with or slow the progress of
>
>Certainly the GPL interferes with and slows the progress of certain
>activities. To say that it doesn't do that to all things is to say
>the obvious. The GPL is a player in a global tug-of-war over
>intellectual property. It is not a neutral player. To have a
>tug-of-war is to pull a rope in two directions at once (let's say left
>and right), and while it's truthful to say that a tug-of-war involves
>pulling to the left, since it also involves pulling the other way,
>it would be marginal as a point of good labeling to rename tug-of-war
>to merely "leftward-pulling of rope".

Dick was going on about the dictionary meaning of "free" being tied to
money and my post was just about the definition of "free" - not about
how it pertains to the GPL.

For the record, I am against the GPL - particularly v3. I support the
idea of "no strings" software, but I object to approach the FSF has
taken. I particularly think the highly infectious nature of the
current GPLv3 is poorly considered. I had similar, though less
strenuous, objections to v2, but I believed the introduction of the
LGPL was a satisfactory compromise. v3 does not recognize LGPL and
specifically prohibits use in combination with previous GPL versions
or with other "free" licenses.

George Neuner

unread,
Sep 30, 2007, 12:58:46 AM9/30/07
to
On Sun, 30 Sep 2007 00:52:21 -0400, George Neuner
<gneuner2/@comcast.net> wrote:

>I was having a bad day. I apologize to Dick and to anyone else who
>was offended.

I meant "Damien". Apologies again.

Can't win for losing.

Damien Kick

unread,
Sep 30, 2007, 1:05:37 AM9/30/07
to
George Neuner wrote:
> On Sun, 30 Sep 2007 00:52:21 -0400, George Neuner
> <gneuner2/@comcast.net> wrote:
>
>> I was having a bad day. I apologize to Dick and to anyone else who
>> was offended.
>
> I meant "Damien". Apologies again.

<laugh> No problem. Though it did bring back bad memories from high
school when a shop class teacher mangled my name in roll call.
<shudder> Not fun having a verb for a last name as a kid.

Slobodan Blazeski

unread,
Sep 30, 2007, 7:04:11 AM9/30/07
to
On Sep 28, 10:33 pm, Rainer Joswig <jos...@lisp.de> wrote:
> In article <u7k5qazhnr....@snapdragon.csl.sri.com>,

> Fred Gilham <gil...@snapdragon.csl.sri.com> wrote:
>
> > Something to keep in mind about all this, that just got brought home
> > again when I saw the Symbolics bit-torrent yesterday (and the
> > interesting comment by dkschmidt about it). Check out lemonodor.com
> > for details.
>
> > Anyway...
>
> > Stallman was reacting to the change at his beloved MIT AI lab from a
> > free-wheeling open environment to one dominated by concerns about
> > intellectual property. This was the time of LMI and Symbolics. To
> > Stallman this was literally the destruction of his world.
>
> Yeah, free-wheeling open environment. Not. All paid for by US
> military (DARPA). Someone paid the show. Nothing was 'free'.
> Being paid by the military was fine - they financed
> it and eventually the took the results when they needed it.
>
> Just reading Steven Levy's "Hackers - Heroes of the Computer Revolution"
> which writes a bit about the AI Lab and its history and fate.

Would you please guys stop mentioning books you are reading, I usually
end up reading them too .
BTW Nice book .

Slobodan

Matthias Benkard

unread,
Sep 30, 2007, 12:27:43 PM9/30/07
to
> For the record, I am against the GPL - particularly v3. I support the
> idea of "no strings" software, but I object to approach the FSF has
> taken.

The GPLv3 is not a ``not strings'' license. The FSF has never claimed
so, either.

> I particularly think the highly infectious nature of the
> current GPLv3 is poorly considered.

The GPLv3 isn't that infectious. Yes, you have to open-source all
derivative works of GPLv3-licensed products, but, in general, you do
not have to GPL them. (You do have to GPL your customised versions of
GPL'd software, but if you use a GPL'd piece of software as a library,
the only thing you have to do is release your code with a license that
is no more restrictive than the GPL, that is, it has to be GPL-
compatible. It doesn't have to be the GPL itself.)

> I had similar, though less
> strenuous, objections to v2, but I believed the introduction of the
> LGPL was a satisfactory compromise.

The LGPL's purpose is different from the GPL's. The GPL's purpose is
to give free software a competitive advantage over non-free software.
As Kent Pitman noted, the GPL is not a neutral player, and in this
case, too, the FSF has never claimed it to be. The GPL has an openly
expressed political purpose, not a purely technical one. It doesn't
make sense to attack it for that.

That's, after all, the difference between free software and open-
source software. The terms seem to mean the same thing at first
glance (and purely technically, they do), but the former is much more
political in nature than the latter.

> v3 does not recognize LGPL

I'm not sure I understand. There's an LGPLv3, too.

> and
> specifically prohibits use in combination with previous GPL versions
> or with other "free" licenses.

As far as I know, that's inaccurate. The GPLv2 prohibits its use
together with the GPLv3, not the other way round. All in all, if I
remember correctly, the GPLv3 is _more_ compatible with other licenses
than the GPLv2. Take the AGPL, for instance, which was previously
incompatible with any version of the GPL but is now being revised to
be compatible with the GPLv3, which has specific means of ensuring
compatibility with the AGPL in place.

Not to mention that all software released under the GNU GPL »version 2
or, at your option, any later version« is trivially compatible with
the GPLv3 (which probably applies to the vast majority of GPL'd code).

~ Matthias

Matthias Benkard

unread,
Sep 30, 2007, 1:10:22 PM9/30/07
to
I claimed:

> The GPLv3 isn't that infectious.

Actually, I'm not so sure about this, but even if I'm wrong, it
doesn't matter, as you can still dual-license your work, which has
essentially the same effect.

~ Matthias

Giorgos Keramidas

unread,
Sep 30, 2007, 7:22:21 PM9/30/07
to

*LOL* I second, third and sometimes, on particularly long-winded
threads, I also fourth that. I can barely keep up with the number of
references in this newsgroup, but, oh, am I glad...

> BTW Nice book .

I haven't finished reading it yet, but it looks promising and a fun
read. The place where TMRC gets access to TX-0 and Levy jokingly
writes:

Now that its original job was over, the three-million-dollar TX-0 had
been shipped over to the Institute on "long-term loan," [...] Dennis
asked the S&P people at TMRC whether they would like to see it. Hey
you nuns! Would you like to meet the Pope?

is absolutely marvellous :)

Nice book, indeed.

Rainer Joswig

unread,
Oct 1, 2007, 5:08:00 AM10/1/07
to
In article <87myv3l...@kobe.laptop>,
Giorgos Keramidas <kera...@ceid.upatras.gr> wrote:

If you are into more nostalgia, then you might want to read
"The Brain Makers". Also:

http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/ai-business.pdf
"If It Works, It's Not AI: A Commercial Look at Artificial Intelligence startups"

I like both titles. ;-)

--
http://lispm.dyndns.org

Odd Skjaeveland

unread,
Oct 1, 2007, 5:07:07 AM10/1/07
to
Kent M Pitman:
[...]

> By the way, an example of where the government has taken sides in this
> way would be DOE Maxima, where it's my understanding that this was (I
> think quite inappropriately) released by the US Government in recent
> years under GPL.


Did the code catch a GPL-infection at some stage prior to the release?

--
Odd Skjaeveland odd.p...@hamso.no

Giorgos Keramidas

unread,
Oct 1, 2007, 11:28:04 AM10/1/07
to
On Mon, 01 Oct 2007 11:08:00 +0200, Rainer Joswig <jos...@lisp.de> wrote:
> If you are into more nostalgia, then you might want to read
> "The Brain Makers". Also:
>
> http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/ai-business.pdf
> "If It Works, It's Not AI: A Commercial Look at Artificial Intelligence startups"

Enqueued, thanks for both references :)

It is loading more messages.
0 new messages