Skip to main content
GameDev.net gamedev.net
🔒 Locked

Lisp is King

Started by bishop_pass Mar 6, 2003 at 4:28 PM 325 replies 48.3k views
Original Post
bishop_pass
bishop_pass
Lisp is King. Is that enough to start a thread? (setf fruits '(apples oranges pears bananas)) Lisp is outrageously fun. Why do we need this thread? Well, all of us Lounge Lisp Lizards apparently like to discuss and promote Lisp. Sometimes our discussions get too specific in the General Programming Forum, or overwhelmed by all of the C++ class and vector discussions. Why don't we just rename that forum the C++ Forum? I'd like to discuss (and debate) Lisp here. Everything. Not just Arc. Not just XML. Not just AI. All of it. I want people who disagree with Lisp or despise it to participate. I want people who advocate it to participate. I want people to share Lisp snippets of code. I need this. I am no Lisp expert myself when it comes to programming in Lisp. But I'm an expert with regard to much of what has been accomplished with Lisp. I also wrote a mini Lisp interpreter ten years ago. A good thread to raise Lisp awareness would be great. But not specific to any particular problem domain or contentious topic. Yes, we can encompass all of that, and go off on topics with regard to those subjects, but let's not limit ourselves to one domain. [edited by - bishop_pass on March 6, 2003 6:19:52 PM]
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in
Tyro
Tyro
lisp,, it reminds me of that useless wisp in wc3
kill
kill
You and SabreMan raised so much fuss about Lisp that I decided to free my mind. I bought "ANSI Common Lisp" yesterday night. Once the book gets here we''ll see where I''ll lean

Talk about freeing ones mind, I also bought "Modern C++ Design". Heard it''s supposed to blow my mind, but that''s a descussion for a different thread.
Tron3k
Tron3k
Lisp is awesome because you can make things like a quicksort so easily ... but then you try to make a heap sort

Firebird Entertainment
“[The clergy] believe that any portion of power confided to me, will be exerted in opposition to their schemes. And they believe rightly: for I have sworn upon the altar of God, eternal hostility against every form of tyranny over the mind of man” - Thomas Jefferson
bishop_pass
bishop_pass
One tactic I was describing in another thread that you can adopt with Lisp is the idea of having the runtime program add to its own capabilities through interfacing with the user. The user enters data (or knowledge), and the Lisp program converts this into Lisp code and adds it into its core set of usable code.
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in
smart_idiot
smart_idiot
Any tips and/or recommendations for anyone who would like to try it?
Chess is played by three people. Two people play the game; the third provides moral support for the pawns. The object of the game is to kill your opponent by flinging captured pieces at his head. Since the only piece that can be killed is a pawn, the two armies agree to meet in a pawn-infested area (or even a pawn shop) and kill as many pawns as possible in the crossfire. If the game goes on for an hour, one player may legally attempt to gouge out the other
bishop_pass
bishop_pass
One of the things I''ve always advocated is to get familiar with the big projects that have been done in Lisp in academic circles. This might run counter to the idea of learning Lisp for more mundane tasks, but by seeking out those academic projects, one gets a flavor of the different programming paradigm one can implement with Lisp.

Learning how to do a Quicksort, or a vector library in Lisp is all well and good, but it''s nor very imaginative. The problem with, say, implementing a vector library in Lisp as a learning process, is it teaches how to convert a standard programming solution into a Lisp solution. This is good and bad, in my opinion. It''s good, because it''s necessary and helps you convert your standard programming methodology to Lisp, but it''s bad, because it doesn''t let you see the possibilities with Lisp.

The best way to really see the possibility with Lisp is to seek out a program written in Lisp, and then realize that to implement that program using another programming language would actually require you to write a Lisp interpreter. That''s where the real power and paradigm shift evident in Lisp becomes apparent.

Unfortunately, two programs that illustrate that potential better than any other that I have come across are AM and EURISKO, whose papers are not available online. They are available in the Artificial Intelligence journal likely available at your local university library.

If someone else is aware of the type of programming paradigm that I am speaking of (the one that would require one using another language to actually implement a Lisp interpreter before the program could effectively be written) then state what those example Lisp programs are. I''m sure there are many out there. Another example might be Karl Sims'' genetic programming example which creates graphic images. I''ll probably have more to say about that program later. I already mentioned it in another thread.

Another example where Lisp likely has great potential is with L-systems.
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in
bishop_pass
bishop_pass
L-systems and Lisp. And here's More info on L-systems and Lisp with renderings.

[edited by - bishop_pass on March 6, 2003 7:28:15 PM]
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in
DerekSaw
DerekSaw
I''ll going to the book stores *hint* *hint* this weekends.
I read few chapters on "A Gentle Introduction" (free download) to Lisp... I could feel that Lisp contains the most basic form of elements in programming.
"after many years of singularity, i'm still searching n the event horizon" o
kill
kill
Damn I wish I bought the book a month ago. Can we put this on hold for a week or two?
bishop_pass
bishop_pass
Out of Control discusses Karl Sims' program. In another thread, I mentioned the significance of this, and here's what I believe it is: Each of the works created by Sims' program have a unique style. Traditional languages tend to produce work which is undeniably stamped with a fixed style that doesn't seem to change. Yes, we change the parameters, and the output changes, but in the end, it bores us, because we can see it's very monotone with respect to its style.

We see the same in the behavior or NPCs, or CRPG worlds. In the end, the product suffers from what I would call inflexible growth. The problem is that although the parameters can be adjusted, the underlying functionality can't be. This dovetails with what I was saying in an earlier post in this thread where I said that Lisp allows the user to update and add to the functionality of the program at runtime, not necessarily through programming in Lisp, but in using the interface that the program provides.

[edited by - bishop_pass on March 6, 2003 8:11:19 PM]
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in
Tron3k
Tron3k
You could do the same thing in PERL.
“[The clergy] believe that any portion of power confided to me, will be exerted in opposition to their schemes. And they believe rightly: for I have sworn upon the altar of God, eternal hostility against every form of tyranny over the mind of man” - Thomas Jefferson
Extrarius
Extrarius
I reccomend the book "ANSI Common Lisp" if you want a book. I find it to be a lot better than the free books on the internet, and it explains things in a way that(imo) help move to the different way of thinking needed to use Lisp effectively. It also has a function reference in the back, and it has lots of examples of real Lisp code (like token parsing, pathfinding, etc). It also shows how almost every Lisp function could be implemented using other Lisp functions and gives a lot of examples of doing so (though the examples aren''t full implementations of the functions, they do the basics. they just don''t support all the extra options).
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
CpMan
CpMan
I think it would be interesting to see some debate from the other side. The people who have used and do not like lisp. Since there don''t seem to be many lisp users here in the first place, I don''t think the chances of getting a counterargument are very likely. The only thing I have heard counter to it is that it is a broken implementation of lambda calculus.



Gamedev for learning.
libGDN for putting it all together.
An opensource, cross platform, cross API game development library.
VSEDebug Visual Studio.NET Add-In. Enhances debugging in ways never thought possible.
RedBitsOfYarn
RedBitsOfYarn
Quick! Which lisp implementation should I use? (Im on a Win32 system BTW!)
Tron3k
Tron3k
Yes, I would also like a good recommendation on a free Lisp implementation for Win32. There are so many, it is hard to choose! Preferably one that can compile (if that''s even possible!), and can link to external libraries so you could maybe use OpenGL and stuff. I might really get into this Lisp stuff - it sounds exciting.

Firebird Entertainment
“[The clergy] believe that any portion of power confided to me, will be exerted in opposition to their schemes. And they believe rightly: for I have sworn upon the altar of God, eternal hostility against every form of tyranny over the mind of man” - Thomas Jefferson
Naaga
Naaga
Lisp looks really interesting. I''d like to learn more about it. What programming paradigms does it support? How does it work? What is it good for?
quote:
Out of Control discusses Karl Sims'' program.

That is the most interesting bit of reading I''ve done in a long time. If anyone has more links on Lisp and what it can do, I''d love to see them.


500x9
__________America seems to like crap because its what we make popular. - Goober King
Extrarius
Extrarius
quote:
Original post by Naaga
[...]If anyone has more links on Lisp and what it can do, I''d love to see them.[...]


Check out my profile, I''ve started several posts about Lisp that have gotten many replies (particularly the "What is so great about Lisp?" thread)

----------
Almost typo-ified using Extrarius'' AUTOMATIC Typo Generator, but I decided to be nice =-)
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
bishop_pass
bishop_pass
quote:
Original post by Tron3k
Preferably one that can compile (if that''s even possible!)

Don''t they all pretty much compile? Lisp is a compiled language, you know. It benchmarks close to C and C++.
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.