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

Janko Mivšek janko.mivsek at eranova.si
Wed Nov 24 12:39:11 CET 2010

I'm pretty sure that any plugin based solution will have a dead-end, as
all Smalltalk plugins so far had. There are just too many browsers to
support out there. FireFox, IE, Safari, Android, Symbian, ... We are too
small community to afford maintaining a plugin on so many different

Therefore I see the only viable long-term solution a Smalltalk on top of
JavaScript VM. Yes, I know, this is a very limited environment for
Smalltalk standards, but it is the least evil from all choices we have.

We actually have some effords done or underway already, like ST2JS,
Clamato, also Seaside's JavaScript from Smalltalk way of programming. I
think we should continue this way and, as I said, forget any plugin way.

Best regards

On 23. 11. 2010 23:46, Torsten Bergmann wrote:
>> 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
>    market,
>    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 
>    "squeaksource.com/Sapphire" 
>    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....
> Bye
> T.

Janko Mivšek
Smalltalk Web Application Server

More information about the Pharo-project mailing list