| 1 | = Meta-Object Binding = |
| 2 | |
| 3 | The meta-object binding is the abstract representation of the bound interfaces. The interface allows for both creating and querying the bound interfaces and the associated types. Each language would have an instance of a meta-object binding for an interface allowing any other language to query and call every other language. |
| 4 | |
| 5 | == Description == |
| 6 | |
| 7 | The first aspect of the meta-object binding is to describe the available interfaces in the system. This amounts to a meta-description of the |
| 8 | |
| 9 | * Modules/namespaces contain functions, variables, classes, other modules, and types |
| 10 | * Types |
| 11 | * Functions |
| 12 | * Return value type(s) |
| 13 | * Conversion policies |
| 14 | * Ownership policies |
| 15 | * Name |
| 16 | * Arguments |
| 17 | * Variables |
| 18 | * Type |
| 19 | * Getter and setter functions |
| 20 | * Variables covers both variables, as in the read-write sense, and other constant values such as enumeration values. |
| 21 | * List of classes, and members (variables and methods) |
| 22 | |
| 23 | == Creation of interface descriptions for a particular language == |
| 24 | |
| 25 | == Calling interface functions == |
| 26 | * call_function |
| 27 | * make_object |
| 28 | * get_variable |
| 29 | * set_variable |