Removal of support for single-cell type_infos.
Tyson Richard DOWD
trd at hydra.cs.mu.oz.au
Mon Apr 28 14:43:10 AEST 1997
Fergus and I just discussed removing support for one-cell type_infos,
(the old way of implementing polymorphism) since we now have full
support for one-or-two-cell shared type_infos (that is, it works in all
Recent changes don't support one-cell type_infos, and since
shared one-or-two cell is the default in all grades, code that does
support one-cell is likely to suffer software rot anyway.
In addition, some code can be simplified if _shared_ one-or-two cells
are always available (for example, mercury_compare_type_info can compare
on base_type_info address instead of unify predicate address).
Keeping support for one-cell type-infos doesn't seem to we worthwhile
anymore. It is dubious whether it is worth still supporting non-shared
one-or-two-cell type_infos - they aren't very different in most cases.
So we can:
1. Remove one-cell type_info support.
2. Remove one-cell type_info support and non-shared one-or-two-cell
3. Remove nothing.
I think we should do 2.
Any other opinions? Does anyone know of reasons why we can't remove this
Tyson Dowd #
# Sign on refrigerator:
trd at cs.mu.oz.au # Refrigerate after opening.
http://www.cs.mu.oz.au/~trd # - C. J. Owen.
More information about the developers