-
Notifications
You must be signed in to change notification settings - Fork 97
Object Model
Sébastien Doeraene edited this page Mar 16, 2012
·
3 revisions
In the VM, we have essentially 3 type systems that interact:
- The Oz dynamic type system, as it is described in the reference of the Oz language.
- The C++ type system, obviously, as the VM is written in C++.
- The VM Object Model, that we describe in this document.
The Oz and C++ type systems have so many discrepancies that it is difficult to write an implementation of Oz in C++ directly. The purpose of the VM object model is to have a mid point, a type system in between them, that allows to write C++ code while thinking about the Oz type system. It is, in fact a domain-specific type system.
The pages in this section of the wiki are written more or a less in tutorial style. They give lots of code snippets that illustrate the explanations. You might want to -and you should- try them yourself. For this purpose, we provide a minimal template application in which you can start hacking right away!