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
grades).

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
	   support.
	3. Remove nothing.

I think we should do 2.

Any other opinions? Does anyone know of reasons why we can't remove this
support?

-- 
       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 mailing list