[m-dev.] Type Unfolding Mark II
fjh at cs.mu.oz.au
Fri Mar 14 03:38:50 AEDT 1997
Peter David ROSS, you wrote:
> Specification for type unfolding
> Any type which consists of one constructor can be flattened into its
> component types. If any component of the flattened type is also a type
> with one constructor, then it can also be flattend.
OK, so what does it mean to flatten a type?
I know you gave an example, and that is helpful,
but it is not a specification.
> The above scheme course falls down if we change the predicate to be the
Again, this is an example; it would be good if could give general conditions
rather than just examples.
> This is of course where it gets complicated, because we have to start
> being careful in each predicate of exactly how far the type has been
> unfolded and that may cause a lot of overhead as one converts between
> the two representations of the unfolded type. Hopefully this will be
> recognised and we will not unfold the type.
Hopefully we won't have to rely on hope! ;-)
It would be good if you could specify exactly when things should/should
not be unfolded.
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 22.214.171.124 | -- the last words of T. S. Garp.
More information about the developers