Frost & Pocket Java

Eric Arseneau earseneau at exobox.com
Fri Dec 15 23:08:16 UTC 2000


Here is something I was going to send a few weeks back but I never got a
chance to do it.  Maybe we can combine the Pocket Java stuff and Frost, as
they do some of the same basic things:

I have had Java running inside of Pocket Smalltalk for about 2 years now,
but have not had the chance to go very far.  In the last few months I have
ported the work to Squeak.  Pocket Java now runs under Sqeak.

Here is what Pocket Java has now:
- Java .class file reader, I can read any cimpiled Java code
	- the result of reading Java class files is an object structure
representing everything that was in the .class file, attributes, bytecodes,
methods, constants and all
- Code Space browser
	- I have the concept of a code space that uses the class file reader
to read in Java code
	- I can recursively cause all of the required class files to be read
in to create a complete code base to run the specified Java class files
- Code Space browser
	- looks like our standard browser
	- Package list pane, class and interface list pane, method list
pane, and a code pane showing a dissassembly of the Java bytecodes
	- Have a Java package that decompiles Java code
		- run this on my VM to decompile Java code, but ran in VA
ST, not ported yet to Squeak
- Java VM written in Squeak
	- runs Java bytecodes
	- implements native/primitive methods in Smalltalk
- Java debugger
	- stepping
	- breakpoints
- Java object inspector

I can run a simple Hello World type of program.  I ahev started to implement
the Java base packages, but a lot more work needs to be done.

Would anyone be interested in working with this and see how we can get it
moving more quickly than I have been able to.  You can read a paper on
Pocket Java at
http://www.pocketsmalltalk.com/Solutions99/index.htm

Which shows what Pocket Java and Pocket ST do together.

What this code allows us to do is run Java code directly in Squeak.  The
intent is to translate the Java code to Smalltalk code.  This way we could
write Smalltalk code to fix up Java code, and leverage some of the stuff
written in Java.

I would like to get some help on getting stuff done for this:
	- Get AWT and Swing running - means implementing the native methods
	- Get the Java to Squeak translator working - have started it

Anyone think this would be interesting enough to work on ?  If nothing else
it is really cool to see Java running in Squeak !!!

> -----Original Message-----
> From: Les Tyrrell [mailto:tyrrell at canis.uiuc.edu]
> Sent: Friday, December 15, 2000 2:36 PM
> To: squeak at cs.uiuc.edu
> Subject: Cincom open-sources Frost.
> 
> 
> 
> Sure it was written for VisualWorks, but it should be possible to port
> to Squeak.  Frost is not quite ready yet for distribution, but if you
> would like to get involved I can help you get started.  I hope to have
> the work I've done packaged a bit better sometime early next week, but
> will be pretty busy this weekend ( bad timing ).
> 
> There is a lot of work to be done yet, but it can already do some very
> impressive things ( things we take for granted in Smalltalk, 
> of course ).
> One can learn a great deal about Virtual Machinery from this 
> ( after all,
> you'd be poking around in a Java VM AND the Squeak VM ), if you are
> educationally inclined.
> 
> I've started a Wiki at: 
> 
> 	http://oasis.canis.uiuc.edu:8080/Frost
> 
> My efforts for the near future will focus on making it possible for
> VisualWorks developers to download & install Frost cleanly ( this is
> currently hard to do, but I am making progress ), and on making
> the documentation and other information for Frost available, and
> over time up to date.
> 
> - les
> 
> 
> James A. Robertson <jarober at home.com> wrote:
> > I would like to announce that Cincom has open sourced 
> (under the PPL -
> > see http://www.parcplace.com/support/opensource/PPL-1.0.html for
> > details) the code for the 'Frost' project.  'Frost' was an 
> attempt by
> > ParcPlace-Digitalk to create an execution engine for Java inside the
> > VisualWorks system.  The work stopped in mid-1998 after the company
> > changed its name to ObjectShare.
> > 
> > When Cincom acquired VisualWorks, it also acquired 'Frost'. 
>  This code
> > has lain dormant, and we have decided that the broader Smalltalk
> > community might well benefit from the initial work.  
> > 
> > I have posted the original work to:
> > 
> > http://www.cincomsmalltalk.com/sources/frost.zip
> > 
> > However, this has been done mainly to have the code 
> 'officially' open
> > sourced.  Ralph Johnson and a few others (mainly Les 
> Tyrell) have been
> > working on this code for some time now.  The code as posted 
> is an Envy
> > (3.01) configuration map.  This isn't terribly useful in 
> and of itself,
> > since that is an old and unsupported product at this point 
> in time.  I
> > understand that Les has made progress in extracting the code, and I
> > would suggest that anyone interested in working on 'Frost' 
> talk to Les
> > and/or Ralph.  
> > 
> > I have started a project page here:
> > 
> > http://www.cincomsmalltalk.com:8080/CincomSmalltalkWiki/Frost+Page
> > 
> > --
> > James A. Robertson
> > Product Manager (Smalltalk), Cincom
> > jarober at mail.com
> > 
> > <Talk Small and Carry a Big Class Library>
> 





More information about the Squeak-dev mailing list