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

US
UK Smalltalk
Wed, May 22, 2024 10:29 AM

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] https://arxiv.org/abs/2312.16973 - Live Objects All The Way Down:
Removing the Barriers between Applications and Virtual Machines

Javier Pimas is a fan of high-level low-level programming. He has been
successfully mixing Smalltalk and assembly code for more than a decade.
Within Bee Smalltalk, SqueakNOS and now Egg Smalltalk projects he has been
trying to make live-programming of system-level concerns more practical to
application programmers.
Javier works for Labware and Quorum Software, where he applies his
expertise to real-world challenges while pursuing a PhD in Computer Science
at Buenos Aires University.

This will be an online meeting from home.

If you'd like to join us, please sign up in advance on the meeting's Meetup
page ( https://www.meetup.com/ukstug/events/300511322/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!

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] https://arxiv.org/abs/2312.16973 - Live Objects All The Way Down: Removing the Barriers between Applications and Virtual Machines Javier Pimas is a fan of high-level low-level programming. He has been successfully mixing Smalltalk and assembly code for more than a decade. Within Bee Smalltalk, SqueakNOS and now Egg Smalltalk projects he has been trying to make live-programming of system-level concerns more practical to application programmers. Javier works for Labware and Quorum Software, where he applies his expertise to real-world challenges while pursuing a PhD in Computer Science at Buenos Aires University. This will be an online meeting from home. If you'd like to join us, please sign up in advance on the meeting's Meetup page ( https://www.meetup.com/ukstug/events/300511322/ ) to receive the meeting details. Don’t forget to bring your laptop and drinks!