Skip to main content

Variables in Pharo - Wednesday, August 25th

The next meeting of the UK Smalltalk User Group will be on Wednesday, August 25th.

Marcus Denker will talk about Variables in Pharo.

We like to say that “Everything is an Object” in Smalltalk. This is true in many cases: Classes, methods, even the execution stack are reflectively available as objects.
This talk shows how this idea can be extended to Variables and how Pharo implements first-class Variables for Globals, instance Variables, Class Variables, and even temporary variables.

This presentation explores the Variable hierarchy, shows how variables simplify the compiler and how the reflective API provided by variables is used by the debugger.
In a hands-on tutorial, we extend the language by defining new kinds of Variables.

Marcus is a permanent researcher at INRIA Lille - Nord Europe. Before, he was a postdoc at the PLEIAD lab/DCC University of Chile and the Software Composition Group, University of Bern. His research focuses on reflection and meta-programming for dynamic languages. Marcus Denker received a PhD in Computer Science from the University of Bern/Switzerland in 2008 and a Dipl.-Inform. (MSc) from the University of Karlsruhe/Germany in 2004. He co-founded Zweidenker GmbH in 2009.

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 advance on the meeting's Meetup page to receive the meeting details. Don’t forget to bring your laptop and drinks!

Update 12 September 2021: The recording of the presentation is now available on Vimeo.

Comments

Popular posts from this blog

Kyma - an object oriented sound and music system - Wednesday, May 27th

The next meeting of the UK Smalltalk User Group will be on Wednesday, May 27th. Alan Jackson will talk to us about Kyma , an object- oriented sound design environment built with Smalltalk technology. 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 advance on the meeting's  Meetup page  to receive the meeting details. Don’t forget to bring your laptop and drinks!

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

JsSqueak - Wednesday, December 29th

For our December meeting, Florin Mateoc will show us JsSqueak , a JavaScript implementation of (JavaScript compiled) Squeak. Whereas SqueakJS or TruffleSqueak are implementations of the Squeak stack VM which run the Squeak bytecodes, JsSqueak compiles all the Squeak code to JavaScript (including the VM plugins), it exports the image state as one big JavaScript storeString, and then loads them, and runs the JavaScript implemented minimal VM (mostly primitives) and the JavaScript-translated Squeak methods as one combined JavaScript application. The compiled JavaScript application can be run either in a browser or in Node.js While JavaScript, especially with its newest additions, is a very powerful language, which allows us to implement most Smalltalk-specific features (e.g. processes/green threads are implemented using generator functions and recursive yield* for all invocations, DNU is implemented using proxies and proto manipulation, the Smalltalk parallel class hierarchy is implemente