Brussels / 30 & 31 January 2016


Eolian: automatic EFL binding generation and more

I will describe how we use the Eolian Domain Specific Language to handle automatic generation of EFL bindings for different languages

The EFL is a suite of libraries for cross platform application development written in C. However, most people prefer using higher level languages for application development, which makes bindings necessary. Writing bindings by hand is not an easy task; their later maintenance is even worse, which in the past resulted in our bindings getting obsolete fairly quickly.

A while ago EFL got its own object system called Eo. This object system forms the basis of our API infrastructure; as one of the advantages, it allows for potential automatic language bindings. While Eo provides an appropriate runtime, it's not enough - which is why we also came up with a declarative interface description language in which the EFL APIs are described, allowing for all sorts of processing and analysis.

In this talk I will describe how we use this language (called Eolian) to handle automatic generation of EFL bindings for different languages. I'm going to show examples of different generator types (for dynamic languages, particularly Lua, as well as statically typed compiled languages such as C++) as well as provide examples of Eolian usage for different tasks.


Daniel Kolesa