Prev: How do I go from a variable name literal to the variable itself?
Next: Lisp packaging and version management..
From: Pascal J. Bourguignon on 25 Jan 2010 05:08 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 25 Jan 2010 05:40 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 25 Jan 2010 05:46 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 25 Jan 2010 12:37 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 25 Jan 2010 17:24 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
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 4 5 Prev: How do I go from a variable name literal to the variable itself? Next: Lisp packaging and version management.. |