XXLisp: Expandable Xlisp


Lisp is a great language for developing prototypes of projects. Its high level design makes a great tool for quickly developing software, without having to deal with the mess of memory allocation and other low level concepts.

In fact, according to a privately conducted poll, lisp is a favorite for cool programmers.

But lisp has its drawbacks. For instance, UNIX system libraries were written in C, and there is no way to readily interface with them. So, I decided to grab Xlisp, and add a cool new feature to it, and called the whole thing XXLISP!

With XXlisp, calling C library functions is easy. All the lisp programmer has to do is to define a function interface definition table (I couldn't think of a better name than FIDT, sorry). The basic idea is that once the interpreter knows what you want to interface to, it recompiles itself and provides you with the functions you requested. Simple...


Dec 25, 1994:I'm done with the first phase. That means the interpreter can intern any function that takes and returns scalar values, except for pointers. That means that VOGL is pretty much fully interned in the interpreter.

The next stage is to allow for data type conversion functions that the user can provide to convert between lisp data types and C data types.


I spoke with Brian Harvey about this, and we decided that this might make a good CS199 (indepandant study type deal) project. Whoa. Getting units for stuff like this is cool.
Last Modified: Apr. 22, 1994.