Version 3 (modified by 15 years ago) ( diff ) | ,
---|
Langbinding
In thinking about how to design, and implement the various aspect of Langbinding I kept going back to some of the same concepts that make up the Common Lisp MOP class system. The key goal for Langbinding is to describe types, and interfaces for those types, as data structures. Unlike the Lisp MOP the interfaces can't be dynamic in the same way in C/C++, but at minimum we can create ad hoc descriptions but only to static code. The goal being to create a bridge between dynamic languages and C++. The basic components of such a bridge are:
- A description the interfaces and data, the binding.
- An instance of the binding for a particular language.
Langbinding is split into a set of components that work together to implement those two components:
- Core -- Basic functionality to manage the binding information.
- Meta-Object Binding -- The meta-description and instances of the bindings.
- C++ Language Binding -- The C++ description of the bindings.