Gezira - Fast Graphics in OMeta/Squeak

by Bert Freudenberg


Gezira is a minimal vector graphics rendering framework. Its core is written in Nile, a newly developed stream-processing language. An OMeta/Squeak translator generates C code for fast multi-threaded execution. A similar translator generates Squeak code for interactive development and debugging. Also, Slang code is generated to compile a Squeak plugin providing bindings to the multi-core C runtime. Gezira is used to render the UI of VPRI's "Frank" system. The talk will highlight specific problems and solutions in ensuring the Smalltalk version behaves identically to the C version. This ranges from method size limitations in Squeak to emulating specific floating point behavior. The Smalltalk runtime allows the interactive exploration of this low-level system component, e.g. in a tile-based editor for creating rendering pipelines and modifying the Nile code.


Bert Freudenberg is a freelancing Smalltalk developer based in Magdeburg, Germany. He worked on the Squeak part of Gezira under contract with Alan Kay's Viewpoints Research Institute (VPRI). Gezira was invented by Dan Amelang and implemented together with Alex Warth at VPRI, the tile editor by Yoshiki Ohshima. Bert started with Smalltalk in 1995. After getting his PhD in computer graphics, he worked at impara (makers of the ESUG Innovation Award winning "Plopp"). Bert has been a long-time Squeak contributor, and is a member of the community-elected Squeak Oversight Board since 2006. In his spare time, Bert maintains Squeakland's Etoys, in particular for the "One Laptop per Child" machine, which with 1 million installations is one of the largest Smalltalk deployments in existence.


No Slides (Demo)