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 ....
Regards Hannes
[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@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.