Transpiling Slang Methods to C Functions: An Example of Static Polymorphism for Smalltalk VM ObjectsRemote
The OpenSmalltalk-VM is written in a subset of Smalltalk which gets transpiled to C. Developing the VM in Smalltalk allows to use the Smalltalk developer tooling and brings a fast feedback cycle. However, transpiling to C requires mapping Smalltalk constructs, i.e., object-oriented contepts, to C, which sometimes requires developers to use different design than they would use when developing purely in Smalltalk.
We describe a pragmatic extension for static polymorphism in Slang, our experience using it as well as the shortcomings of the new approach. While our solution extends the concepts developers can express in Slang, which reduces the burden of finding alternatives to well-known design patterns and by enabling the use of such patterns the modularity, it further complicates a fragile, already complicated system. While our extension solves the task it was designed for, it needs further enhancements, as does Slang itself in terms of understandability in the field.
Mon 23 OctDisplayed time zone: Lisbon change
09:00 - 10:30 | |||
09:00 10mDay opening | Opening Remarks VMIL Andrea Rosà USI Lugano File Attached | ||
09:10 25mPaper | CHERI Performance Enhancement for a Bytecode Interpreter VMIL Duncan Lowther University of Glasgow, Dejice Jacob University of Glasgow, Jeremy Singer University of Glasgow DOI Pre-print | ||
09:35 25mPaper | Revisiting Dynamic Dispatch for Modern Architectures VMIL Dave Mason Toronto Metropolitan University (formerly Ryerson University) | ||
10:00 15mShort-paper | Extraction of Virtual Machine Execution Traces VMIL | ||
10:15 15mShort-paper | Transpiling Slang Methods to C Functions: An Example of Static Polymorphism for Smalltalk VM ObjectsRemote VMIL Tom Braun Hasso Plattner Institute, University of Potsdam, Germany, Marcel Taeumel University of Potsdam; Hasso Plattner Institute, Eliot Miranda Cadence Design Systems, Robert Hirschfeld University of Potsdam; Hasso Plattner Institute DOI Pre-print |