In this document, I will try to describe the machenism used to build Perl-Gtk. Instead of writing gluing codes by hand. Since there's too many different but similiar types in Gtk, the designer of Gtk-Perl choice to simplify this awesome task by defining a meta language. This language is used to generate the gluing codes between perl and gtk. This language will be called DEFL in the following of this document.

DEFL is a lisp-like language. However, it's not a real computer language since it doesn't have expression, variables and etc. This language supports only few functions used to define the specifications of constants, enumerates, boxes, structs and objects.