Compatibility Squeak/Visualworks

Bijan Parsia bparsia at email.unc.edu
Wed Apr 18 12:51:19 UTC 2001


On Wed, 18 Apr 2001, Projet DeepLow wrote:

> Hi,                                                                   
>                                                                       
> We are supposed to build a 3D application with squeak and we need to  
> move our source code into VisualWorks. So we would like to know:      
> * is it possible ?                                                    

Almost anything's possible.

> * it is easy ?

Very much depends on how you do it. Er..and what you define as "easy" :)
                                             
> * Do we need some plug in ?                                           

Very much depends on how you do it. If what you mean is, "We want to use
SqueakAlice and then port it to VW" then I'd say you've got some work
ahead of you, as VW has neither Alice, nor Squeak's particular 3D
substrate, nor, for that matter, it's own 3D substrate. Ergo, a fair bit
of porting would be required, at a minimum.

If you were just rolling your own 3D stuff, you might well be able to
write something with a fair bit of portability (espeically if you stuck
with MVC). 

I suggest looking at the JUN 3D kit:
	http://www.sra.co.jp/people/aoki/Jun/
It's for VisualWorks, and it's built on top of OpenGL. It's an open
question (to me) whether it'd be easier to port this to Squeak (with
either an OpenGL plugin or an OpenGL compatibility layer), or to port
Ballon-3D to VisualWorks.

You might peek at:
	http://minnow.cc.gatech.edu/squeak/321

Some of HMM's stuff is included in the STP Goodies:

http://www.create.ucsb.edu/Squeak/Squeak.Outline.html#About_the_STP12_Goodies

"==== ZPoint.st ==== 

3-D points, i.e., one can say 3 at 4@7. 
...
==== Graphics-3D.st ==== 

This is Hans-Martin Mosner's 3-D graphics example. It creates wire-frame
models and can display and rotate them. It also serves as a cool screen
saver. It requires the 3-D point class ZPoint and the two additional
Zpoint methods in this directory."

If your needs are minimal, this might be a better starting point.

> * What is the main differencies between Squeak and VW ?               


It depends on what's "main" to you. For example:

	They implement different Smalltalk Dialects:
		VisualWorks has Namespaces and "_" in identifiers, Squeak
		does not.
	They have different class libraries:
	They have different graphic/UI models:
		VW doesn't have Moprhic, but Squeak *does* have MVC,
		although with a different layering on top.
		VW tries to emulate the look of each platform. Squeak,
		in the main distribution, does not.
	They have different social models.
		VW is proprietory; Squeak is not.
	They have different implmenetations.
		VW has a highly tuned JIT VM; Squeak is getting
                a somewhat simpler VM. Squeak's VM is written in
		a subset of Squeak and is available for your
		perusal. VW's GC is more complicated and
		tunable. Etc. etc.

Some of these matter a lot to some people; others do not. Some matter for
portability; others do not.

Cheers,
Bijan Parsia.





More information about the Squeak-dev mailing list