[Newbies] Just a curious question to the veterans

H. Hirzel hannes.hirzel at gmail.com
Wed May 23 05:00:17 UTC 2018

Hello Jeremy,

an interesting question indeed.

A C compiler (or a kind of assistant) in Squeak which 'senses' on
which platform Squeak is running and then produces C - code which is
specific for that platform looks like a useful tool.

Another idea is to consider creating WebAssembly [1] code instead of C.

A VM in the browser, a new endeavour ....


[1] https://en.wikipedia.org/wiki/WebAssembly

WebAssembly (Wasm, WA) is a web standard that defines a binary format
and a corresponding assembly-like text format for executable code in
Web pages. It is meant to enable executing code nearly as fast as
running native machine code.

On 5/23/18, Jeremy Landry <hakyoku at gmail.com> wrote:
> I'm not at the level where this would mean anything to me in a practical
> sense, but I was curious about the VM and compiling the VM and the fact VM
> exports C-code (DJGPP or something?).  I was curious as to whether it would
> be beneficial at all to write a C compiler inside of squeak, at least for
> the common 'systems'. I suppose having an external compiler let's one
> ignore some of the more important details of the host system to compile for
> and probably contributes to a lack of one.  But I was curious if anyone's
> ever tried making any kind of compiler that spits out standalone VMs or
> other types of very specific-use external programs with squeak/smalltalk
> and if that was ever a consideration of something that any users had tried
> to tackle.
> Again, keep it somewhat 'dumb' in the answer. Compilers and such are way
> over my head, but I had the thought about this question while reading
> repeatedly that the VM gets exported to be compiled by a C compiler rather
> than natively inside of the running system and wondered if there are any
> advantages to that other than just being a part of the puzzle that is
> handled much better by a 3rd party maintaining a compiler separately.
> Thanks and sorry if this is in the wrong mailing list.

More information about the Beginners mailing list