[Pharo-project] <script language="smalltalk">

Torsten Bergmann astares at gmx.de
Tue Nov 23 23:46:37 CET 2010

>How easy/hard to integrate smalltalk VM into browsers? It it feasible?

You need to run as a plugin in the browser, so the VM has to be
in process (DLL on windows instead of exe for instance) 

>I know, there is (or was) a Squeak browser plugin.

Yes there was/is a Squeak ActiveX control for InternetExplorer
and a Netscape plugin for NS compatible browsers. 
Dont know about the maintenance state...
As you already said ... they are more like "applet providers" 
in Java. AFAIK they are not interfacing with the scripting
engines of the browser.

>While i thinking, that it would be cool to use smalltalk directly in
>pages, as javascript.

That would mean to run on the client in the browser and mean to:

 - build a small downloadable VM as a plugin into the browser
   since the plugin itself is browser dependent and OS dependent
   you have to build one for each of the major browsers and OS's on the

   Dont know about the other browsers but for Internet Explorer
   you would have to implement the ActiveScripting Engine COM interfaces.

   This would mean you could then use it in any application that is an 
   ActiveX scripting host (like IE, Word, Windows Scripting shell, ...)
   and you get the <script language="smalltalk"> for free in IE.

   For instance vbscript.dll and jscript.dll are done this way.
   I think ActivePerl, ActivePython, ... from Activestate.com
   are implemented similar.

   You also have to think about securing your VM since typically a 
   script executed in a webbrowser should not access files/clipboard/etc.
   otherwise it would be easy to harm computers from a website.

 - build a small (kernel) image that provides basic functionality,
   comes with the VM above and and accepts the scripts to run them

 - for the bare bone scripting part you should check out 

   I'm sure it could be done but you would need time and good knowledge
   of C/C++, Squeak VM creation, Scripting, ...

Question left is why you want all this. Instead of Smalltalk you
can use JavaScript for the browser/client part of your app.
JavaScript is very dynamic and meanwhile supported and fast enough in nearly any browser....


GMX DSL Doppel-Flat ab 19,99 &euro;/mtl.! Jetzt auch mit 
gratis Notebook-Flat! http://portal.gmx.net/de/go/dsl

More information about the Pharo-project mailing list