[Vm-dev] WebAssembly

Ben Coman btc at openinworld.com
Thu Dec 8 14:18:26 UTC 2016


Hard to find info on Snowglobe.  Only 4 million results to compete with.
Sorry to harp on my pet gripe again.  The following alternatives are
much more distinctive...
"Snowglowbe" with only 364 results,
or "Snowglobal" with 854 result,
or "Snowglowbal" with only!! 1 result!!!!
Maybe my parachute career should be brand consulting?

So finally a four term search "cog snowglobe craig latta" found...
* http://forum.world.st/App-streaming-with-Snowglobe-td4920867.html
* https://thiscontext.com/2016/10/31/app-streaming-with-snowglobe/

I tried the demo. http://blackpagedigital.com/snowglobe/
Pretty impressive.  The world menu is a bit sluggish for a few seconds
to pop up each time, but menu item highlighting is instantaneous, as
is editing in the system Browser. However mouse point is off by about
15mm at 7o'clock position.  Platform is 32-bit Linux Chrome Version
48.0.2564.116.
(I guess any further discussion on this would be better on squeak-dev)

cheers -ben

P.S. reading about "live serialization" the term "serialivation" pops in mind.

On Thu, Dec 8, 2016 at 2:08 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
> Hi Ben,
>
>     Craig Latta had already used the SqueakJS glue to allow Cog to run in a browser.  See Snowglobe (I wish it were called SnowGlobe).  This allows full performance and as good a browser integration as obtained with SqueakJS.
>
> _,,,^..^,,,_ (phone)
>
>> On Dec 7, 2016, at 8:05 PM, Ben Coman <btc at openinworld.com> wrote:
>>
>>
>> I've just bumped into WebAssembly and am curious what opportunities
>> (or not) it might offer us.
>> * https://medium.com/javascript-scene/what-is-webassembly-the-dawn-of-a-new-era-61256ec5a8f6#.60dghpaek
>>
>> One approach could be to just compile our currently generated C code
>> to WevAssembly via LLVM. Ronie's recent effort to produce a
>> non-display minimal VM should help proof of concept here.
>> * http://webassembly.org/docs/c-and-c++/
>> * https://hacks.mozilla.org/2015/12/compiling-to-webassembly-its-happening/
>> * http://cultureofdevelopment.com/blog/build-your-first-thing-with-web-assembly/
>>
>> An obvious downside would be having a VM running on a VM.  But
>> WebAssembly doesn't do garbage collection so at least it wouldn't
>> double up on that.  Possibly there would be some double-up/conflict on
>> JIT-ing, but there seems like there will be a facility for adding JIT
>> and optimisation libraries, so possibly past investment in Cog is not
>> lost.  Also perhaps(??) while WebAssembly is in its formative stage
>> right now some primitives can be added to facilitate how Cog operates.
>> * http://webassembly.org/docs/future-features/#platform-independent-just-in-time-jit-compilation
>> * http://webassembly.org/docs/jit-library/
>>
>> Another approach may be to start with SqueakJS, and work out how the
>> Cog JIT could be plugged into WebAssembly as a library that SqueakJS
>> (and others?) could use.  If its architecturally possible this might
>> broaden the exposure of Cog(??). What would WebAssembly require to
>> facilitate using Cog?
>>
>> Of course all plates are full, but now seems the ideal time time to
>> get involved.
>> WebAssembly browser preview seeking community feedback concluding Q1 2017.
>> https://www.infoq.com/news/2016/11/webassembly-browser-preview
>> http://webassembly.org/roadmap/
>> https://github.com/WebAssembly/design
>>
>> Chrome nightly builds available to test it
>> http://thenextweb.com/dd/2016/03/15/webassembly-lands-chrome-canary-offering-glimpse-future-web/
>>
>> It would be amazing to run Cog in a web browser, and thus facilitate
>> all our favourite Smalltalk dialects.
>>
>> Side thought: Craig's work to incrementally download a running image
>> could be useful to reducing web page startup time.
>>
>> cheers -ben


More information about the Vm-dev mailing list