I've been trying to learn lisp recently, and I've been able to type things into the interpreter and get it to spit out sane results, however...
I don't know how to create any kind of little compiled program using the language. None of the tutorials I've read show anything about how to get input from the console or any shit like that, none of them show you where the equivalent of void Main () is, (though I think they might just execute linearly... defun seems to just apply to anything that comes after it) they mostly just describe the language without telling you how to do anything.
Does anyone know where I can download lisp projects that I can compile and pull apart, to examine how they work etc...?
Name:
Anonymous2006-11-01 23:19
BTW, if someone can show me just a basic console app that might compile in Allegro CL, i'd be most appreciative.Q
seconded. this is pretty much the only relevant book on Common LISP and its status in this decade. pretty mcuh everything else I read was stuff from the 80's and early 90's that was kind of outdated and inaccurate
LISP is cool but the limitations of other programming languages makes it very "niche" -- what you learn to exploit in LISP rarely works as fluidly in other languages, if at all.
For example, writing a renderer in LISP is structurally easier than in C++... at least as far as the scene-graph portion is concerned, where you can have so many different types of objects (Models, Lights, Cameras, even physics objects like Force Fields and Wind Vectors). Scene graphs are just easier to implement when you can easily store things in heterogenous arrays/lists, as opposed to a strongly-typed language.
C++ would be so much more useful if class inheritance was more "runtime flexible" rather than merely "development-time flexible", if you know what I mean.
Of course... it's easier to get OpenGL to "just work" in C++... it took me forever to figure out foreign-function interfaces in LISP... and FFI syntax and calling conventions are different for most Common LISP interpreters :/
People who write Common LISP interpreters need a swift kick in their asses and need to start agreeing to and abiding by standards that aren't explicitly defined in the language's own specifications. I want see Common LISP succeed, but Common LISP's culture of elitist, arrogant, mouth-breathing nerds (see also: Naggum, Erik in the common lisp newsgroup) is the language's biggest obstacle.
Name:
Anonymous2006-11-02 16:30
C++ would be so much more useful if it were dynamically typed, dynamically bound, reflexive, garbage collected, and had native heterogeneous lists and dictionaries. If we follow this reasoning we get to Python, Ruby and others, which are as nice to work with as we want, but not yet efficient enough for what we want to do with them :( .
Same stupid fucking crazy person talking to himself
gtfo
Name:
Anonymous2006-11-05 2:29
I wish C++ or C# had a command interpreter like LISP.
Name:
Anonymous2006-11-05 8:51
>>26
Signed, REPLs make developing so much easier. Don't have to write a test program and compile it just to see if some line of code does what you expect.
Name:
Anonymous2006-11-05 8:55
>>27
Real programmers compile LISP in their heads.
Most good implementations compile source into either byte code or native machine code. CMUCL and SBCL compile into native machine code and the interpreters pipe that to the CPU somehow (this is what operating systems do with running programs), while CLISP and I think GCL compile into VM bytecode (somewhat slower, like what Java does).
Name:
Anonymous2006-11-06 0:15
>>30
Does it fucking slow your computer down to zero whenever you load up an applet, and operate fucking slowly like java?
Java. It's everywhere, but you don't see it. A lot like AIDS.
LISP is everywhere too, and you also don't see it. But it's useful... like a ninja.
Name:
Anonymous2006-11-07 3:49
Lisp would be awesome if the Lisp community didn't have its head up its arse.
Imagine if Lisp were like Python/Ruby/Perl/Java/whatever: a single canonical distribution with many well-tested and Relevant libraries. Awesome.
Reality: many disparate CL implementations, each doing Relevant things differently. You want to use sockets and remain portable you say? lollers
Are the Lispniks doing anything about it? Nah. They defend their shitty stagnancy to the death, just like that bearded *nix wizard who sits in the university basement.