Thin Languages

Language developpment. Compiler, parsers and regular grammars.

Arena MVC framework

Uqbar's Arena is a UI framework designed to take the MVC pattern a step behind by strongly encouraging the behavior to be coded in the model. It uses bindings as the key controller to hookup the UI (view) and the model.
It also encourage direct manipulation of model objects solving transactional problems transparently via AOP.
Plus the model's obervability is also handled transparently through AOP as a cross-cutting concern.

Wollok Programming Language

An Object-Oriented programming language which combines objects as first-class citizen with traditional class-oriented OOP, through structural types and a novel type inference mechanism.


An open, collaborative platform for sharing and resolving programming exercises, aimed to help students and enthusiasts to improve their programming skills. Source code and more information can be found here.


Chocolate is a 2D Game Engine developed in Scala allowing to build videogames and applications with non-standard high performance GUIs. It is based in the premise that videogames can be developed applying the same good practices and conceptual tools that industrial software requires. Chocolate offers a development platform with high level abstractions, based on a native method for managing events which solves the most common problems of a game. Conceived to be simple, its micro-kernel architecture presents a reduced learning curve to the less experimented developers, without limiting the experts and easing the transition between them.


Chunks proposes a dynamic and flexible alternative to the usage of classes and prototypes. Those structures are used to define behavior and offer a combinatory algebra similar to the proposal of traits. However, they can be used to instantiate objects define internal state without the need to link them to classes.


Framework to parse, manipulate and write bytecode for the JVM.


Iokeclipse is an Eclipse extension to provide to the ioke language developer with modern IDE features.

Ozono (formerly Loop)

Loop - Learning Object Oriented Programming is an environment for teaching.

Mars - Going native with pharo

Mars projects to be a MVC multiplatform framework, with the advantage to use the native widgets available on each platform i.e., Cocoa in MacOS, Gtk in Gnome, WindowsForms in Windows. Currently Mars-Cocoa y Mars-Gtk are under development.

Pharo Script Builder

A tool to enhance the development of tools using metaprogramming in pharo, such as the refactoring engine. It stores classes so it can rebuild them after they are subject to an effect.

Trait Extensions

The trait implementation appearing in Pharo are an interesting tool for reusing and sharing behavior. However, there are many possible extensions to empower them. In this project we try to compile some of these extensions.

Pharo development tools enhancements

Strongly based in the use of the AST for: offer contextual suggestions, navigate code, represent a class definition and coloring the syntax visiting the AST representation. This includes many projects developed in Pharo, some of them already integrated in Pharo 3 image.


Flamel is a helper to transform code and make easier to use the rewrite engine implemented in Pharo.

Physical User Interfaces

This work is an intent to shorten an existing gap between microcontrollers and high-level programmers, and also between Electronic Engineers and High-level programming solutions. This is performed by applying MVC Architectural pattern theory to microcontrollers.