Virtual Lisp Machine on Linux

Virtual Lisp Machine (vlm, opengenera) on Linux

 

It's been a long and cold winter this year, so I've finally had some spare time to spend on the genera virtual lisp machine for linux (thanks to Brad Parker for the great work done of adapting the alpha version to x86_64).

Major things I've changed:

genera is now working with recent X-Servers (xcb) as well as with the ancient (pre-xcb) versions.

changed networking to better work with tuntap tap-interfaces (you do no longer need admin rights to run genera if you've configured your TAP devices once and for all).

integer arithmetic (esp. division) now working, i.e. (/3) now yields 1/3, not 0.

double float exceptions now working as designed (/ 0.0) generates a trap, not a result.

super-, meta-, abort-, resume- etc. keys now working in the debugger, too.

established a client for NFS version 3 in LISP (because NFS v2 is only poorly supported in recent Linux distributions).

If you're feeling like it, you may download a version of genera here and a distribution world containing the NFSv3 client and a few other lisp machine patches. You'll find a distribution tape for NFS v3 client here.

Of course you'll need a 64-bit Linux OS to run (I'm using OpenSUSE right now) and set up network and NFS-server as described elsewhere (see VLM on linux for example). Any questions ? Contact me

With this version, you don't need any xmodmap actions to run genera.

 

As an example, here's my .VLM file:

(look at the network specs to get how it works ;-) and yes, CHAOS network is working at least between two machines by putting the tap interfaces on a bridge)


genera.network: tap0:INTERNET|192.168.2.2;gateway=192.168.2.1,tap1:CHAOS|401
#genera.network: tap0:INTERNET|192.168.2.2;gateway=192.168.2.1,tap3:CHAOS|3002
#genera.network: tap0:INTERNET|192.168.2.2;gateway=192.168.2.1

genera.virtualMemory: 512
#genera.trace: no
#genera.tracePost: yes
genera.worldSearchPath: /home/lispm/...:/var/lib/symbolics
*main.geometry: 1280x1024+0+0
*coldLoad.geometry: 800x600+1280+0
*coldLoad.iconic: yes
*coldLoad.background: gray85
*coldLoad.foreground: gray15

genera.world: Genera-8-5.vlod
genera.spy: no

genera.debugger: VLM_debugger


In the simplest case, you'll have to run:

tunctl -u <youruserid> and

ifconfig tap0 192.168.2.1 (or some other address) up

as "root" user (in rc.local or equivalent). Then you can start genera with

genera - network "tap0:INTERNET|192.168.2.2" and you're done. Of course, the tap device and the genera network should be on the same ip subnet.

 
  Joachim Jachemich