Skip to main content

Dave Mason - Zag Smalltalk - 30 November 2022

Dave Mason has been a professor of Computer Science at Toronto Metropolitan University (previously known as Ryerson) for 41 years. He has done research on operating systems, software reliability and programming languages. Current research is mostly around Smalltalk and other dynamic languages. If forced to program very low level projects such as virtual machines, he is willing to use Zig or Rust, but for any other purpose, he insists on using higher productivity languages - primarily Smalltalk.

Zag Smalltalk is a principle-based Smalltalk VM. "Principled" means that the only 3 operations are: message send, assignment, and return.

1) it is designed from the ground up to use multi-processing, to leverage multi-core systems.
2) There is no special-casing of methods like ifTrue:ifFalse or whileTrue:, although of course some methods are implemented by primitive methods. It does aggressive inlining of methods and blocks.
3) “Source” code is maintained as ASTs.
4) Compiled code runs in a dual form of threaded code and JIT’ed machine code that seamlessly interoperate.
5) It has a partially-copying and partially-non-moving garbage collector.
6) It keeps many more values as immediate, including symbols.
7) It uses a single-level dispatch mechanism to implement Smalltalk dispatch semantics

The research question is, "Can this be made fast enough to be competitive?” Preliminary results are encouraging.

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 to receive the meeting details.

Update 28 February 2023: The recording of Dave's presentation is now up on Vimeo.


Popular posts from this blog

TruffleSqueak: A Squeak/Smalltalk System for the GraalVM - Wednesday, June 24th

The next meeting of the UK Smalltalk User Group will be on Wednesday, June 24th. Fabio Niephaus  will talk to us about TruffleSqueak , a Squeak/Smalltalk VM and Polyglot Programming Environment for the GraalVM . He is a Ph.D. student within the Software Architecture Group  at the Hasso Plattner Institute, University of Potsdam, Germany. He has strong interests in dynamic programming languages, virtual execution environments, and software development tools. Fabio will talk about the motivation for his research in the field of Polyglot Programming. With a live demo, he will show how TruffleSqueak can be used as a polyglot IDE for other languages such as Java, Javascript, Python, R, or Ruby. He will also introduce us to the GraalVM ecosystem and discuss his experience in writing a Smalltalk VM in Truffle, GraalVM's language implementation framework. Given the current COVID-19 restrictions, this will be an online meeting from home. If you'd like to join us, please sign up in advanc

Craig Latta - WebAssembly as a Smalltalk Compilation Target (v1) - 22 February 2023

WebAssembly (WASM) is an instruction format for portable high-performance code, run by a stack-based virtual machine. To Smalltalkers, this sounds very familiar. WASM is supported by the three most popular web browsers, and by other host platforms as well. Perhaps we can translate certain Smalltalk compiled methods to WASM, augmenting our support for physical processors and for livecoding the Web. For our February meeting, Craig Latta will describe his initial experiments, using the Epigram compilation framework. Craig Latta is a research computer scientist in Berkeley and Amsterdam, with interests including livecoding, music performance, and interactive visualization. The discovery of a mysteriously-placed copy of the Blue Book at university led to stints at several exploratory labs, and a pursuit of improvisation wherever code is found. 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  to receive th

A Tour of Architectural Abstraction with Objective-S - Wednesday, November 24th

This month, the UKSTUG will take a look at Objective-S , an architecture-oriented programming language based on Smalltalk and Objective-C, by hosting his creator Marcel Weiher. As per Alan Kay, “Code seems large and complicated for what it does” . Objective-S addresses one source of this accidental complexity: using software architectural abstraction to directly expresses the much wider variety of architectural styles typical of modern software systems, compared to traditional programming languages that still follow the call/return architectural style of scientific programs from the early days of computing. Marcel Weiher started his forays into dynamic object-oriented computing by implementing Objective-C on his Amiga 35 years ago and hasn’t stopped since. Stops on the way have been at Apple, the BBC, Microsoft and various startups, as well as contributing to Squeak. He is currently a principal software engineer at Citymapper and PhD student at HPI, where he is trying to distill some