Release 0.01 of LispOS

Rodrigo Ventura
Mon, 23 Mar 1998 12:18:57 +0100 (GMT+0100)

        Hi. As I posted before, and generally anyone agrees,
experimental code is needed to get LispOS started. I've done some
experimenting with some concepts that were discussed before. Here's
what I got:

        I think that the best plataform to begin with is a bare Linux
kernel. So, I compiled a bare-bones, minimal Linux kernel (about 200k
compressed kernel vmlinuz) and a minimal filesystem with just /dev and
corresponding generic devices (MAKEDEV generic). Next, a lisp virtual
machine that dialogs directly with the kernel. So, I picked scheme48
and statically compiled with. Ok, it still uses libc statically, but
that could be stripped of later, and replaced for a scheme interface
to the linux syscalls -- a generic way of making this interface is
needed. Maybe something like parsing the *.h files and translating it
into a module structure. But right now, it's just a statically linked
scheme48 without dynamic linking (modify a #define in some .h
file). Then I put the vm and the bootstrap image on /lispos, and
configured lilo to boot with init=/lispos/scheme48vm. The thing is, it
boots ok, and starts scheme48 right away! (what a surprise 8-).

        Anyway, this is a minimal LispOS 8-)

        What remains to be done? Well, everything I guess. My first
needs were:
        * adjust the keymap to pt;
        * readline facility would be great;
        * an editor is required -- something like emacs?
        * a scheme to save stuff other than the bulk image dump;
        * and of course, ways to mount stuff, put the / writtable, etc.

        I'm curious about RScheme, but I wonder whenever it is as easy
to dettach from the rest of UNIX as scheme48 was. From what was here
discussed, I find RScheme much more appealing.



*** Rodrigo Martins de Matos Ventura, alias <Yoda>
***   Instituto de Sistemas e Robotica, Polo de Lisboa
***    Instituto Superior Tecnico, Lisboa, Portugal
***     PGP Public Key available on my homepage
*** Key fingerprint = 0C 0A 25 58 46 CF 14 99  CF 9C AF 9E 10 02 BB 2A