Project Prometheus - Definitions & Requirements

| No Comments | No TrackBacks

Project Prometheus is about writing a lisp interpreter that will sit inside my game engine (engine might be the wrong word to use here, as it is rather tiny). As the interpreter sits inside the engine, the goal is to have a live development environment, where the game/application will be programmed in lisp while the game/application is running.

lisp-is-different.jpg

So far, I have thought about several core components that must be part of the whole system:

  1. The interpreter itself, with all the necessary compiler stages. It must accept valid lisp syntax and transform it into a form that the system can interpret at runtime.

  2. The idea is to have most of the core components running in lisp, but I still need a very tiny interop layer for doing basic interaction with the underlying system.

  3. A live development environment must be setup. Maybe I can see if I can hook emacs directly into the system somehow. In this regard,

  4. I am also thinking that perhaps I should do away with files as well as the concept of a compilation unit entirely. If I work at function level, then the engine can store an internal database with the textual representation of all functions. Functions will then be injected into the engine and database when they are saved, and can be retrieved live as well. This is still very much a brainstorming stage, though having a big directory of files to compile seem very clunky to me, and goes against the idea of live development.

No TrackBacks

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

Leave a comment

About this Entry

This page contains a single entry by gorm published on July 5, 2009 9:41 PM.

Project Prometheus - Kick off! was the previous entry in this blog.

Project Prometheus - Full of Spirit 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