Gezira
From VPRISoftware
Gezira is a rendering library for anti-aliased 2D vector graphics focusing on succinctness. The Nile language and runtime were designed to express the rendering pipeline in a minimalistic way while being performant enough for interactive use. This project includes:
- an OMeta compiler in Squeak translates the source from Nile to C or Smalltalk
- a runtime written in C or Smalltalk allows execution
- the C runtime is usable from Smalltalk via a Squeak VM plugin
- one version of the C runtime uses multiple CPU cores for speed
- Smalltalk code can easily be debugged, C code is fast
Slides from a talk given about Nile and Gezira are available here. This talk, entitled "The Nile Programming Language: Declarative Stream Processing for Media Applications," was given at the Southern California Programming Languages and Systems Workshop Spring 2011.
Source Code
Gezira is released under the MIT license by VPRI. Since this is part of ongoing research, there is no consolidated release, yet.
- Gezira sources and bindings http://github.com/damelang/gezira
- Nile sources and runtimes http://github.com/damelang/nile
- OMeta translators, Smalltalk runtime, Squeak bindings http://tinlizzie.org/updates/exploratory/packages/
- Gezira-Nile: OMeta translator from Nile to C and Smalltalk, Smalltalk runtime
- Gezira-Kernels: Generated Smalltalk code
- GeziraBindings-Base: Squeak code to access plugin
- GeziraBindings-Plugin: Squeak VM module with bindings to the C runtime
- GeziraBindings-Base.MT: branch to access multi-threaded plugin
- GeziraBindingsMT-Plugin: multi-threaded plugin
Screencast
- h.264: Gezira.mp4
- ogg: Gezira.ogv
