From: Pascal J. Bourguignon on
Duane Rettig <duane(a)franz.com> writes:
> On Jan 24, 4:12�pm, Martin <xtd8...(a)gmail.com> wrote:
>> OMG. I remember reading somewhere that it's good to start with clisp and
>> THEN perhaps move to sbcl, LOL.
>
> You probably heard it from the clisp folks :-)

For a newbie, the advantage of clisp is that it's more standalone:

- clisp includes readline so that you CAN use it in a terminal (sbcl
is totally unusable in a raw terminal, you need rlwrap or emacs to
use it).

- clisp includes a usable and user friendly debugger, so that you CAN
debug your clisp programs without an external too (sbcl debugger is
mostly unsuable, you need slime to make sense of its debugging
output, not to mention writing lisp expressions in the debugger
making reference to the lexical scopes).


That said, sbcl has its advantages too, such as slower compilation
speed, greater execution speed and greater space requirements.

--
__Pascal Bourguignon__ http://www.informatimago.com/
From: Tim X on
Tamas K Papp <tkpapp(a)gmail.com> writes:

> On Mon, 25 Jan 2010 00:12:17 +0000, Martin wrote:
>
>> On 01/24/2010 11:34 PM, Tobias C. Rittweiler wrote:
>>> Martin<xtd8865(a)gmail.com> writes:
>>>
>>>> Hi all,
>>>>
>>>> I've just started my journey through the land of lisp (clisp) on
>>>> Slackware64-current using Emacs + slime. I've got a few basic
>>>> questions regarding setting up working environment. The emacs
>>>> slime-mode starts without any errors but the key bindings seems not to
>>>> work.
>>>
>>> Unrelated commentary to your e-mail: I would suggest to use another
>>> implementation in combination with Slime. Clisp's integration into
>>> Slime is not really good -- the intersection of people who are familiar
>>> with Clisp, and the people who use Slime is pretty much empty.
>>>
>>> As a newcomer, you should probably do your baby steps on SBCL, CCL, or
>>> on a commercial implementation (which tend to provide free evaluation
>>> versions for personal use.)
>>>
>> Thanks for your input. In a few words, how would you describe the
>> differences between the above-mentioned implementations of CL? Is the
>> syntax different? functionality? Browsing the internet I usually come
>> across clisp and sbcl. What are the names of commercial ones? I might be
>> wrong, but I remember reading somewhere that clisp is most portable out
>> of them. What are advantages of the other ones?
>
> Syntax is of course the same. All CL implementations (aim to) conform
> to the hyperspec, and SBCL is doing a particularly fine job.
> Naturally, implementation-specific extensions differ, but libraries
> like CFFI hide most of that for you, and you are not likely to
> encounter the rest as a newbie in either implementation.
>
> I would suggests that since CL has a standard, think of your
> application/code as portable, not your implementation. Ie you might
> have to modify a few low-level bits, but it should run OK on other
> implementations. Again, as a newbie, you are unlikely to write code
> that doesn't. So the switch to SBCL should be painless.
>
>> > As a newcomer, you should probably do your baby steps on SBCL, CCL,
>> > or on a commercial implementation (which tend to provide free
>> > evaluation versions for personal use.)
>> >
>> OMG. I remember reading somewhere that it's good to start with clisp and
>> THEN perhaps move to sbcl, LOL.
>
> I started with SBCL, and didn't regret that decision. A particularly
> advantageous feature is the excellent code analysis it performs during
> compilation: it highlights many possible mistakes (eg code branches
> never executed, using variables that don't exist, never using those
> which do, etc) and gives you a lot of notes. IMO this should help
> newbies significantly.
>

I would agree. I started with CLISP, which I think is a fine
implementation. However, from a beginner perspective, I found SBCL
provided more information and clues/notes/feedback which helped me to
understand things better and learn more. The integration of SBCL with
SLIME is also better than with CLISP.

When first learning CL, I don't think you should worry about which
implementation is more portable, compiles faster code, can generate
stand alone executables etc. These are all things for later when you are
actually writing *real* applications, not when your learning. Note that
once you know CL, moving between implementations is fairly trivial.

It is not beyond the realms of possibility that you won't like CL or
will find it too difficult to start with (many find it takes a bit of
time before the penny drops - it took me 3 attempts), so expending
effort chasing down the best implementation for developing applications
now is probably a waste of effort. What you need to concentrate on now
is reading some good texts, experimenting in the REPL and then finding a
little project to write. It is critical you just get in there and write
bits of CL. Its also very useful to read other peoples code.

When your ready to really develop an application, you will have the
knowledge and understanding to evaluate which implementation will best
suit whatever you plan to develop. Worrying about this issue now will
just waste time and leave you the victim of other people's opinions with
no way to assess how accurate/valid it is.

What you want initially is an environment that can support you the most.
This means either going with the free commercial trial versions, which
all tend to have a good integrated environment or going with emacs and
SLIME and using one of the better implementations for SLIME, which means
either SBCL or CMUCL. I prefer SBCL over CMUCL, but I cannot really
quantify it - I just find it 'feels' better.

More than anything else, just start writing code!

HTH

Tim

--
tcross (at) rapttech dot com dot au
From: Pascal Costanza on
On 25/01/2010 07:36, Duane Rettig wrote:
> On Jan 24, 4:12 pm, Martin<xtd8...(a)gmail.com> wrote:
>> On 01/24/2010 11:34 PM, Tobias C. Rittweiler wrote:
>>
>>
>>
>>> Martin<xtd8...(a)gmail.com> writes:
>>
>>>> Hi all,
>>
>>>> I've just started my journey through the land of lisp (clisp) on
>>>> Slackware64-current using Emacs + slime. I've got a few basic questions
>>>> regarding setting up working environment. The emacs slime-mode starts
>>>> without any errors but the key bindings seems not to work.
>>
>>> Unrelated commentary to your e-mail: I would suggest to use another
>>> implementation in combination with Slime. Clisp's integration into Slime
>>> is not really good -- the intersection of people who are familiar with
>>> Clisp, and the people who use Slime is pretty much empty.
>>
>>> As a newcomer, you should probably do your baby steps on SBCL, CCL, or
>>> on a commercial implementation (which tend to provide free evaluation
>>> versions for personal use.)
>>
>>> -T.
>>
>> Thanks for your input. In a few words, how would you describe the
>> differences between the above-mentioned implementations of CL?
>> Is the syntax different? functionality? Browsing the internet I
>> usually come across clisp and sbcl. What are the names of commercial ones?
>> I might be wrong, but I remember reading somewhere that clisp is most
>> portable out of them. What are advantages of the other ones?
>>
>> > As a newcomer, you should probably do your baby steps on SBCL, CCL, or
>> > on a commercial implementation (which tend to provide free evaluation
>> > versions for personal use.)
>> >
>>
>> OMG. I remember reading somewhere that it's good to start with clisp and
>> THEN perhaps move to sbcl, LOL.
>
> You probably heard it from the clisp folks :-)
>
> Need I say it?
>
> (i.e. you should start with Allegro CL!)

Indeed. Pick a commercial implementation. They all have free personal
editions for non-commercial use, and provide an excellent integration of
everything you need. No need to waste time on hunting for separate
tools, configuring them, etc., etc. Just download, install, and go.

Even if in the long run, you plan to use open source implementations,
the free commercial versions are excellent starting points for learning
Common Lisp. Since portability of Common Lisp is above average, there is
very little risk that you will paint yourself into a corner by doing so.
And the commercial Common Lisp vendors are still small and friendly, not
big and evil, you know... ;)


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/
From: Duane Rettig on
On Jan 25, 2:08 am, p...(a)informatimago.com (Pascal J. Bourguignon)
wrote:
> Duane Rettig <du...(a)franz.com> writes:
> > On Jan 24, 4:12 pm, Martin <xtd8...(a)gmail.com> wrote:
> >> OMG. I remember reading somewhere that it's good to start with clisp and
> >> THEN perhaps move to sbcl, LOL.
>
> > You probably heard it from the clisp folks :-)
>
> For a newbie, the advantage of clisp is that it's more standalone:

You're making a comparison between clisp and sbcl. That's your
prerogative, but if you compare clisp and Allegro CL the differences
go away.

> - clisp includes readline so that you CAN use it in a terminal (sbcl
>   is totally unusable in a raw terminal, you need rlwrap or emacs to
>   use it).

Allegro CL also has a line-oriented top-level, a tradition carried
over from the very old but popular Franz Lisp.

> - clisp includes a usable and user friendly debugger, so that you CAN
>   debug your clisp programs without an external too (sbcl debugger is
>   mostly unsuable, you need slime to make sense of its debugging
>   output, not to mention writing lisp expressions in the debugger
>   making reference to the lexical scopes).

Allegro CL also has a line-oriented debugger interface, and it uses
the same underlying debugger api which provides the foundation for all
of our debuggers.

> That said, sbcl has its advantages too, such as slower compilation
> speed,  greater execution speed and greater space requirements.

Hmm; I don't know how you consider slower compilation speeds and
greater space requirements to be advantages. If it's just sarcasm,
then your argument becomes ineffective. Perhaps instead you meant
greater space capacity, but regardless, although it is true that sbcl
tends to be much larger than clisp, Allegro CL isn't, and when I run a
clisp and an Allegro CL together they tend to be within the same order
of magnitude of size, (depending on the modules that are loaded into
the lisp - you pay as you go).

Duane
From: Martin on
On 01/24/2010 11:34 PM, Tobias C. Rittweiler wrote:
> Martin <xtd8865(a)gmail.com> writes:
>
>> Hi all,
>>
>> I've just started my journey through the land of lisp (clisp) on
>> Slackware64-current using Emacs + slime. I've got a few basic questions
>> regarding setting up working environment. The emacs slime-mode starts
>> without any errors but the key bindings seems not to work.
>
> Unrelated commentary to your e-mail: I would suggest to use another
> implementation in combination with Slime. Clisp's integration into Slime
> is not really good -- the intersection of people who are familiar with
> Clisp, and the people who use Slime is pretty much empty.
>
> As a newcomer, you should probably do your baby steps on SBCL, CCL, or
> on a commercial implementation (which tend to provide free evaluation
> versions for personal use.)
>
> -T.

Thank you all for your help. I think I'm going to install sblc.

kindest regards
martin

--
regards

Martin