Showing posts from May, 2024

Javier Pimas -- Live Metacircular Runtimes: The case of Egg Smalltalk - 29 June 2024

 Egg is a new Smalltalk dialect that was designed from scratch to incorporate some interesting features: A module system with namespaces that replaces the old-good Smalltalk global. Dynamic identifiers, which are bound lazily similarly to how methods are lazily bound. A multi-VM architecture, with different VM implementations written in C++, Pharo, JavaScript and Egg. The Egg-in-Egg VM is special in that the VM component is just another module of the system, creating what we have named Live Metacircular Runtimes (LMRs) [1]. The most interesting characteristic of LMRs in Smalltalk is that they can be developed using standard Smalltalk tools, which shorten feedback loops when doing VM development. During the talk I'll show a little bit about Egg and its LMR, and how not only VM developers get more productive when writing VMs, but also application developers can better understand what the VM does behind the scenes. [1] - Live Objects All Th