On 23/07/12 12:51, David Matthews wrote:
What this implies for the implementation is that it needs to actively
reduce any type abbreviations to their right hand sides before doing any
unification and also when applying the value restriction.  This then
allows Phil's examples to work and also the simple example above.  It
does have the unfortunate side-effect that expressions with type
abbreviations are not printed using the abbreviation in cases where it
used to.

Thanks for the update. I haven't noticed much difference in the printed types. The only change worth mentioning is that

  val it = (): unit

now prints as

  val it = (): {}

which is worth alerting people to. For example, ProofPower build files pattern match on that response to remove them.

Phil
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to