Types behind the mirror : a proposal for partial ML type reconstruction at run-time.
Résumé
Polymorphic parametric languages, statically typed, à la ML, do not need to keep types inside their values during runtime to have a safe execution. Nevertheless this type information gives new possibilities for debugging, allows to extend the language to manipulate types as values. It can be stored either in stack or in heap.
To manage the additional type information, we propose in this paper to divide the heap in a value space and a mirror space. The first space is used to store values, the second one is used to store type information and garbage collecting. We describe a new Stop & Copy GC algorithm handling the divided heap with low memory cost. We finally give proposals for partially rebuilding types from informations stored in the mirror space.