I'm pushing the performance of our Rust-based SOM interpreters, and I wrote a quick blog post about an optimization I recently implemented. Gonna try to make this more of a regular thing for extra motivation (and hopefully valuable feedback) https://t.co/hHyaB3PGtB
An old paper about OOVM and Smalltalk in embedded development back from 2003. It also explains why it made sense to implement the Java HotSpot VM in "Smalltalk style" with a metaclass hierarchy (although Java does not have classes/metaclasses as objects):
https://t.co/4TMUqBaqRv
Someone on the internet ported SOM to C#:
https://t.co/QkGqs1yok6
And it passes almost all tests. 🥰
It’s not yet running SomSom, think the command line handling doesn’t match the latest version.
But still, great stuff 😀
Someone on the internet ported SOM to C#:
https://t.co/QkGqs1yok6
And it passes almost all tests. 🥰
It’s not yet running SomSom, think the command line handling doesn’t match the latest version.
But still, great stuff 😀
After making sure that my RPython SOM interpreters are pretty much the same, except for interpreting either abstract syntax trees or bytecodes, seems like I got the bytecode interpreter to break even on one metric.
Though, not the one you may think.
1/3
@smarr That's super spiffy! I'm working on a SOM-in-SOM project myself: https://t.co/wFtIHxh9Xi
When done, it will compile SOM to C. I only work on it when camping though, but camping season starts again soon. I'm really happy with how the parser reads like BNF: https://t.co/HtyXXhVCXf
Why implementing SomSom, a Metacircular SOM you may ask?
Because a language implemented in itself is a thing of beauty. It's fun. It's exiting. 🤩🤓
https://t.co/5hRGMpGqrb
Thanks @TravisCI for the years of support. 🖖
Hello #GitHubActions!
https://t.co/8AZY1CpLqL
Now, if just someone could stop adding primitives to SOM, or would at least implement them for all SOMs, this thing would also be green 😅
Language implementation people:
If you're working in industry, but do things that are interesting for workshops of industrial+academic researchers, would it make it easier for you to submit a blog post as talk proposal?
#PL#implementation#research
From here, we can start exploring how things work.
Perhaps how the sending of a message, is done, which is what we find in the executeDispatch() method.
For more material on SOM, see the presentation and teaching material on https://t.co/cxmuCkbvaM
(4/4)
JsSOM is a "zero infrastructure" SOM implementation.
Just open your browser and give it a go: https://t.co/UcP9cC2pGB
In the Chrome DevTools, you can even edited it live!
(Thread 1/4)
#som#smalltalk
But, we're more interested in how interpreters work.
So, let's open your browser's developer tools, and run:
1 halt.
The halt message stops execution in the debugger, and works not just on 1, but on all objects.
(3/4)