Live coding with lisp

| No Comments | No TrackBacks

If you haven't guessed it by now, Project Prometheus is about setting up a minimal game engine, with an internal lisp interpreter / compiler running. None of the game engines I have seen, has offered the possibilty to do the live editing and coding that you can experience with most functional languages and a basic REPL


For an introduction to lisp, I have included this google tech talk by Peter Seibel on how the choice of programming language effects about how you think about your problem. He also introduces lisp and compares it with other languages.


So to get back to the problem. Even though the basic lisp is actually a very small language, I have suddenly realized how huge an undertaking this project is (like all programmers, I constantly overestimate my own abilities!). I have therefore decided to also start working on some small games on the side, while working on the interpreter. This will make sure that I actually get any work done on the end product, it will have the side effect that the source code for the games will then later on make a good test bed for how well the interpreter works.

After this realization, I started (again) to look for some tools that at least did partly what I wanted.

First up is the Steel Bank Common Lisp, which is version of lisp, focused on performance and with a very liberal license. Interesting, that I seem to have missed this in my earlier searches. With many other variants of Common Lisp, they usually either suffer from being too expensive or having a license that prohibits any kind of closed source-code release. Both a no-go's for a technology fixated indie-guy like myself.

Secondly, I did a check to see if a port to lisp had been made of my all time favorite game library SDL. I found two versions, cl-sdl and lispbuilder-sdl. The former seemed rather undocumented and dead'ish, while the latter seem quite alive and well-documented. No choice there.

For editing, I have so far taken the usual choice of Emacs and SLIME. I know this environment works really well, so that was mostly a no-brainer. To make sure I get out of my comfort zone, I have promised myself to take a look at CUSP one day. CUSP is an eclipse plugin for developing lisp applications.
For those who are doubtful about ever going back to Emacs for any kind of work, here is a video that shows how to cool it can be to work with SLIME:

 


Lastly, since I am also very much the noob with lisp, I often get back to this excellent online introductory text to common lisp written by Paul Graham.

No TrackBacks

TrackBack URL: http://www.lai.as/cgi-bin/mt/mt-tb.cgi/11

Leave a comment

About this Entry

This page contains a single entry by gorm published on July 11, 2009 10:40 PM.

Project Prometheus - Full of Spirit was the previous entry in this blog.

Develop Conference, Day 1 - Emerging Platforms is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

  • Games
OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.01