Newsgroups: comp.lang.lisp,comp.lang.clos
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!portc02.blue.aol.com!howland.erols.net!blackbush.xlink.net!news.ppp.net!news.Hanse.DE!wavehh.hanse.de!cracauer
From: cracauer@wavehh.hanse.de (Martin Cracauer)
Subject: Re: Do something. Now.
Message-ID: <1996Dec23.134611.24448@wavehh.hanse.de>
Reply-To: cracauer@wavehh.hanse.de
Organization: Private site
References: <3059948144828413@naggum.no> <851066309snz@wildcard.demon.co.uk> <GJR.96Dec20105752@hplgr2.hpl.hp.com> <851174617snz@wildcard.demon.co.uk> <joswig-ya023180002112962143090001@news.lavielle.com>
Distribution: inet
Date: Mon, 23 Dec 96 13:46:11 GMT
Lines: 45
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:24376 comp.lang.clos:4104

joswig@lavielle.com (Rainer Joswig) writes:

>Useful hacking areas for advancing Common Lisp
>==============================================

And now for something completly different:

Implement a Java virtual machine in Common Lisp. Should not be that
hard given a thread interface (most other problems like GC and dynamic
loading are solved in every Lisp implementation anyway). Even a
Just-in-time-compiler will be easy (and working $#%$^&%^).

The points is of course to use all those advertised little Java
modules and/or Java beans components.

Examples:
- A http server could provide entry points for servlets like Jeeves
  and Jigsaw offer. Mix Lisp and Java filters as you like, write your
  Lisp filters, get some Java filters from the net.
- User all the tools advertised to generate Java beans components.
- Many Web servers claim to open their execution engine for Java
  .class files from users. Example: Let two people provide .class
  files to play a game and have a server that let them play against
  each other. Java a JVM in Lisp and you can run a Java soltuion
  against whatever you definde for Screamer in five minutes.
- The same applies for application custumization (i.e. killfile-like
  functionality for newsreaders). With a JVM in Lisp we'd be able to
  let people give init files as Lisp or .class files (should such a form
  of application become real, I expect a lot of tools come up to help
  people doing so). 
- And - of course - use the .class files lying around. Doing so is a
  lot more easy than to integrate C object files. A .class files
  carries all the information you need. Not that there are many I'd
  like to use...

The kawa project does the other way round (Scheme compiled to Java,
all runs insider Java), but that's performance-wise not the right
thing. 

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin_Cracauer@wavehh.hanse.de http://cracauer.cons.org  Fax.: +4940 5228536
"As far as I'm concerned,  if something is so complicated that you can't ex-
 plain it in 10 seconds, then it's probably not worth knowing anyway"- Calvin
