Earlier quoted context omitted.
> seemed quite idiomatic I'm not sure how that would be a bad thing. Did you mean un idiomatic?
I did, of course, mean idiosyncratic. My bad
The Land of Lisp
71–80 of 146 posts
Re: The Land of Lisp
#72When I discovered lisp several years ago, it was indeed the textbook moment of enlightenment that you've heard about. This book was a part of that introduction for me (along with Practical Common Lisp). After working in C-like languages, I had no idea that programming could work this way as in lisp, the idea of code and data being inseparable, I even had dreams at night about run-time data structures getting expresse…
My first go at lisp was working through SICP. I loved it. But I couldn't see myself using it for a medium-sized project just because static typing is that valuable to me. Now I'm learning Racket, and Typed Racket feels great so far (despite a few awkward spots). You don't have to sit on that fence; you can switch between typed and untyped code at will.
Re: The Land of Lisp
#73Re: The Land of Lisp
#74Earlier quoted context omitted.
My first go at lisp was working through SICP. I loved it. But I couldn't see myself using it for a medium-sized project just because static typing is that valuable to me. Now I'm learning Racket, and Typed Racket feels great so far (despite a few awkward spots). You don't have to sit on that fence; you can switch between typed and untyped code at will.
> But I couldn't see myself using it for a medium-sized project just because static typing is that valuable to me. See my comment above, you can have static-typing in Lisp with no problem: Type declarations are part of the Common Lisp standard[1], and implementations like SBCL (one of the best Lisp implementations out there, and free) will do static type checking. [1] type declarations: http://clhs.lisp.se/Body/d_typ…
Re: The Land of Lisp
#75This book comes up in #lisp on freenode every so often, and the channel is generally split on whether or not to recommend it. I generally do. It's fun and lighthearted. Using games as a medium to teach the language is something some people enjoy, and is a lot less dry than most programming books. It avoids taking sides on the editor war, by just ignoring it altogether and teaching Lisp . This is refreshing compared t…
This makes sense for a tutorial book, since CLISP is easy to install, very small to download (compared to SBCL), and is a fully featured (ANSI compliant) implementation. So i don't think it was a mistake to choose CLISP.
The recommendation in #lisp for SBCL over CLISP might be because SBCL is nicer to the programmer, offering more features. Also, code runs very fast under SBCL; although i suspect that CLISP compiles code faster.
(If any is interested, here is a quick overview on some of the Lisp implementations available and their salient features. (Most implementations are free)
ECL - Embeddable Common Lisp
allows you to compile Lisp into any
other system by compiling to C
SBCL - Steel Bank Common Lisp
Produces very fast code,
allows static type checking and other niceties
a fork from the CMU CL impl.
CLISP
Small, easy to install and use,
includes readline REPL and X11 features
ABCL - Armed Bear Common Lisp
Allows you to run Lisp under the Java JVM
and call Java code, or call Lisp code from Java.
CLASP
Compiles Lisp to the LLVM, provides C++ interop
ACL - Allegro Common Lisp
Commercial Lisp, fast, feature rich
includes a Prolog implementation, CLIM GUI
and other nice stuff.
LispWorks
Commercial Lisp, fast, feature rich,
includes an IDE, Java Interface,
and CLIM 2.0 implementation, more features.
ParenScript
This is a small subset of CL that gets translated
(in the server) to javascript
JSCL
A Lisp implementation that runs under Javascript,
providing a REPL and Lisp interpretation on the
browser, for a subset of the CL language.
)Re: The Land of Lisp
#76This book comes up in #lisp on freenode every so often, and the channel is generally split on whether or not to recommend it. I generally do. It's fun and lighthearted. Using games as a medium to teach the language is something some people enjoy, and is a lot less dry than most programming books. It avoids taking sides on the editor war, by just ignoring it altogether and teaching Lisp . This is refreshing compared t…
> The main issue people have with the book is that it uses CLISP-specific code in a few places. CLISP's last release was seven years ago, and because it hasn't really been maintained it's beginning to bitrot. Folks in #lisp generally don't recommend using CLISP these days, instead recommending actively-maintained implementations like SBCL, CCL, ECL, ABCL, etc. Note that CLISP is actively maintained; the most recent c…
Has someone stepped up?
Re: The Land of Lisp
#77The music video is what really sold me on buying the book several years back: https://www.youtube.com/watch?v=HM1Zb3xmvMc
Re: The Land of Lisp
#78When I discovered lisp several years ago, it was indeed the textbook moment of enlightenment that you've heard about. This book was a part of that introduction for me (along with Practical Common Lisp). After working in C-like languages, I had no idea that programming could work this way as in lisp, the idea of code and data being inseparable, I even had dreams at night about run-time data structures getting expresse…
(defmethod collide ((object1 space-ship) (object2 rocket))
"Inline documentation for this method..."
(the debris
(create-debris-from space-ship))
SPACE-SHIP and ROCKET are types and classes. DEBRIS would also be a type and a class.Use DEFTYPE, DEFCLASS, DEFSTRUCT, ... to define new types. Use CHECK-TYPE and ASSERT to have runtime checks, integrated with the condition system.