4 ms·
A possible approach to learning Common Lisp
- J_McQuade 17y agoSeems dead to me - HN'd into in inoperability, perhaps? [edit] Just noticed it's been posted to reddit, too. Surely it didn't stand a chance!
- deleted 17y ago[deleted]
- deleted 17y ago[deleted]
- mcav 17y agoGoogle Cache: http://74.125.95.132/search?q=cache:_OIX7VMqqToJ:deepaksurti.com/lisp/learning.html+http://deepaksurti.com/lisp/learning.html&hl=en&client=safari&gl=us&strip=1 http://74.125.95.132/search?q=cache:_OIX7VMqqToJ:deepaksurti...
- zck 17y agoGoogle cache has it, but at least for me, it's just as slow as the site itself: http://74.125.93.132/search?q=cache:_OIX7VMqqToJ:deepaksurti.com/lisp/learning.html+http://deepaksurti.com/lisp/learning.html&cd=1&hl=en&ct=clnk&gl=us&client=firefox-a http://74.125.93.132/search?q=cache:_OIX7VMqqToJ:deepaksurti...
- icey 17y agoHere is a Coral Cache in case it goes down again: http://deepaksurti.com.nyud.net/lisp/learning.html http://deepaksurti.com.nyud.net/lisp/learning.html
- deleted 17y ago[deleted]
- rw 17y agoI think that going from Scheme to CL is much easier than the converse; Scheme's syntax is more straightforward (e.g. there's no #' for funcall), and there are fewer conceptual edge cases. If you use PLT Scheme, too, you get Lisp-n (not Lisp-1 nor Lisp-2) with the module system. Scheme is a conceptual superset of Common Lisp (cf. continuations), although CL has more built-in practical functionality (CL is typically faster (exceptions include Stalin, Bigloo), and has possibly better-implemented libraries). One might learn both concurrently!
- wingo 17y agoWhat do you mean by, "If you use PLT Scheme, too, you get Lisp-n"?
- rw 17y agoFrom: http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2004-02/2037.html http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2004... "" Here it helps that a Lisp-2 seperates variables and functions by default. Variables are usually not important parts of an application's ontology. If they are, the convention in Common Lisp is to use proper naming schemes, like asterisks for special variables. Effectively, this creates a new namespace." Mmm, asterisks. This, to me, is why the whole Lisp-1/2 debate is moot. The solution is simply Lisp-N, where you can define namespaces, modules, etc. and control how they're used. See PLT Scheme etc."
- wingo 17y agoI could be misinterpreting, but I don't think this is an accurate characterization of what a lisp-2 does. Function and value namespaces are separate in CL because functions and values are of different types; also there's the struct, class, etc namespaces. But still in Scheme the aesthetic is to put values of different types in the same namespace -- unless the values don't actually exist at runtime, which is the case with syntactic R6RS records, for example. But you'll still see a conflict at compile time if you attempt to use a name as a record type, then reference it as a free variable -- iirc, anyway.
- old-gregg 17y agoI have gone through "Practical Common Lisp", went through pains of integrating CL into vim, did my share of googling for libraries and found CL to be impractical for production use (for my projects). Yet I keep seeing the argument in favor of CL because it's got more libraries and "built-in practical functionality". Can you please elaborate? I haven't played with Scheme yet, but http://docs.plt-scheme.org http://docs.plt-scheme.org looks more impressive than anything I've seen for CL so far: lots of stuff in one place and guaranteed to work. Thanks!
- DrJokepu 17y agoI can't say I agree with his platform of choice - Lisp In A Box on Windows has been excellent choice so far for me for learning Lisp. No problems at all.
- rman666 17y agoAlso consider trying new version of newLisp (called newLisp-GS). A very nice version of Lisp with a built in GUI IDE. I just discovered it (again) the other day and was surprised by the vast documentation and ease of use. It's a great way to learn Lisp. Highly recommended.
- rman666 17y agohome page is http://www.newlisp.org/ http://www.newlisp.org/ downloads are at http://www.newlisp.org/index.cgi?page=Downloads http://www.newlisp.org/index.cgi?page=Downloads Lots of distributions. P.S. I have no affiliation with the newLisp folks. P.S.S. It GPL licensed.
- kevbin 17y agoThat's one "lisp" with which no one need bother. see, e.g. http://lambda-the-ultimate.org/node/257#comment-1901 http://lambda-the-ultimate.org/node/257#comment-1901 http://www.alh.net/newlisp/phpbb/viewtopic.php?p=2776 http://www.alh.net/newlisp/phpbb/viewtopic.php?p=2776 http://groups.google.com/group/comp.lang.scheme/browse_frm/thread/997dc59b8ebb1749/af62130eefafd338?pli=1 http://groups.google.com/group/comp.lang.scheme/browse_frm/t...
- rman666 17y agoThose were written in 2004 and 2005! I know newLISP might not be thee lisp for everyone. All I'm saying is it's free, it's available on Windows, Mac, and Linux (and more), It's got a decent graphical IDE and it's Lisp. Give it a try before digging up 5-year old articles; no?
- mahmud 17y agonewLisp is to Lisp what herpes is to a fun trip to Ibiza.
- J_McQuade 17y agoInevitable?
- 17y ago
- lars 17y agoAdvice no. 1 is to switch OS if you're a windows user? That's bad advice. LispBox works great, and the hurdle of changing OS isn't going to help you learn Common Lisp. Lisps have got to be the easiest family of languages to get started with. Learn the syntax of a function call, and you'll understand most of the code you're seeing. Understanding it in depth is a bigger undertaking, of course.
- mahmud 17y agoYep, I wrote 10k lines of lisp code on Windows and it builds on linux (a different implementation) unchanged. yesterday i built my app with Clozure Common Lisp, for the first time, and it ran from the first try. Two OSes, three implementations, tens of dependencies .. flawless.
- aerique 17y agoSuggesting to change your OS when you're on Windows is indeed bad advice. Clozure Common Lisp is a fine CL implementation for Windows and works well enough with Emacs and Slime. Emacs shouldn't be too much of a problem with version 23 and some sane Windows-oriented keybindings and CUA mode enabled. Perhaps someone (maybe me when I've got the time) should just put a good Emacs configuration online for people wanting to play with CCL, Emacs & Slime. Then again, Lispbox might be good enough as well. I've never checked it out.
- icey 17y agoI don't have a dog in this fight since I use Windows, OS X and Linux all with some regularity; but I have personally found that most documentation out there seemed to assume a *nix. Of course doing the mental mapping is trivial, but it is an additional factor to hold in your head. Honestly, I feel like the bigger hurdle is emacs, which isn't necessary, but almost every article about lisp makes it sound like it is.
- weaksauce 17y agoThe mental mapping is less trivial if they only know windows. Not insurmountable but it is a bit of a curve. Though switching to linux just to learn a computer language is a bit drastic.
- radu_floricica 17y agoRight now I'd recommend anybody to just go with Clojure. Other then that, it's a pretty common-sense article. The Unix choice is controversial but truth is, most powerful lisps are not windows-compatible and definitely not windows friendly. Between emacs and vi I'd suggest the one more familiar, or a third one if that's the case. Lisp has a steep enough learning curve not to need a new environment to learn alongside.
- icey 17y agoI love Clojure, but SBCL is seriously ass-kickingly good software as well. It's a matter of taste, I suppose. Go with Clojure if you: Want / need to interop with Java Want to use Clojure's cool STM Want to be specifically functional Be one of the cool kids. Go with SBCL / Common Lisp if you: Want to use cool stuff like Cells & Hunchentoot Want to make your way through PAIP, PCL, On Lisp (In other words, lots of documentation for CL!) Want a multi-paradigm language (CLOS is awesome) Be one of the cool kids.
- briancooley 17y agoI agree with you, but I thought I would add that Clojure has the dataflow library in clojure.contrib that does some of the same things as Cells. It doesn't have Mr. Tilton, though. ;)
- mahmud 17y agoCommon Lisp is the only language that supports Mr. Tilton as a first-class object.
- icey 17y agoYou raise a good point: Clojure is being actively developed, while the core of CL is stable. If you care about language velocity / activity in either direction, there is a difference between the two.
- Shooter 17y agoIf you're completely new to programming (or rusty), I'd recommend "A Gentle Introduction to Symbolic Computation" before PCL or ACL. http://www.cs.cmu.edu/~dst/LispBook/ http://www.cs.cmu.edu/~dst/LispBook/ It's a really great, free resource for beginners that will help you get ready for the other books.