Live data from Hacker News

SqueakJS – A Squeak VM in JavaScript

squeak.js.org

21–25 of 25 posts

Re: SqueakJS – A Squeak VM in JavaScript

#21

I loved to see a Cuis version of SqueakJS. Just pare it down to its essential classes just to give developers a clean base to experiment with the language on. No e-Toys, no Metacello, etc.

Been there, done that. You need SqueakJS, a browser an the changes, source and image files for Cuis. Startup is a bit slow, but it works. SqueakJS is just another VM.

I should add that I only tried the 32bit images etc. (Cuis*-32.* files).

Re: SqueakJS – A Squeak VM in JavaScript

#22
post #15

Earlier quoted context omitted.

Could you elaborate how this works – Headless SqueakJS plus WebComponents GUI?

Instead of having a Smalltalk image which contains the typical GUI (Morphic or otherwise being BitBlt on a HTML Canvas) I run a Smalltalk image which has a number of Classes representing WebComponents. These classes have a small interface with Javascript (implemented as primitive calls in case you are familiar, similar to other SqueakJS plugins). When instantiating such a WebComponent, it will also instantiate a DOM…

Interesting. At 54:55 Tim Rowledge mentions Distributed Smalltalk by Chris Mala (not sure about the name). Is there any information about this? I could not find anything what seemed relevant or recent.

Re: SqueakJS – A Squeak VM in JavaScript

#23
post #22

Earlier quoted context omitted.

Instead of having a Smalltalk image which contains the typical GUI (Morphic or otherwise being BitBlt on a HTML Canvas) I run a Smalltalk image which has a number of Classes representing WebComponents. These classes have a small interface with Javascript (implemented as primitive calls in case you are familiar, similar to other SqueakJS plugins). When instantiating such a WebComponent, it will also instantiate a DOM…

Interesting. At 54:55 Tim Rowledge mentions Distributed Smalltalk by Chris Mala (not sure about the name). Is there any information about this? I could not find anything what seemed relevant or recent.

That would be "Chris Muller". Chris wrote, amongst other things, the Magma database and the Maui user interface stuff. Take a look at http://www.squeaksource.com/@QWhy5xpjQLo5Sty4/rBdVcxgb for the Magma code and http://www.squeaksource.com/@QWhy5xpjQLo5Sty4/yM0obItA for the client-server stuff. You might also be interested in the image spawning capabilities in Dave Lewis' OSProcess project; very fast forking of running images with their own work to do etc. See http://www.squeaksource.com/@QWhy5xpjQLo5Sty4/uLwQvnlU

Re: SqueakJS – A Squeak VM in JavaScript

#24

Is it possible to "save the image" in this version?

Yes it is. It will be stored in the browser using IndexDB. You can download these back onto your computer. See https://squeak.js.org/run/

Cool. Totally cool, and shows the power of Smalltalk images. You could start a process in the image running in the browser, move the image to your PC and continue the process there.

Re: SqueakJS – A Squeak VM in JavaScript

#25

One thing that's amazing about SqueakJS (and one reason this VM inside another VM runs so fast) is the way Vanessa Freudenberg elegantly and efficiently created a hybrid Smalltalk garbage collector that works with the JavaScript garbage collector. SqueakJS: A Modern and Practical Smalltalk That Runs in Any Browser http://www.freudenbergs.de/bert/publications/Freudenberg-201... >The fact that SqueakJS represents Squea…

Also: The Evolution of Smalltalk: From Smalltalk-72 through Squeak. DANIEL INGALLS, Independent Consultant, USA http://worrydream.com/refs/Ingalls%20-%20The%20Evolution%20o... >A.5 Squeak >Although Squeak is still available for most computers, SqueakJS has become the easiest way to run Squeak for most users. It runs in just about any web browser, which helps in schools that do not allow the installation of non-standa…

Dan published an updated version of that paper here: https://smalltalkzoo.thechm.org/papers/EvolutionOfSmalltalk....

Would be great if you could cite that one next time. The main improvement for me is not being deadnamed. There are other corrections as well.

Post reply on HN