... i forgot Jonathan's suggestion, which if I understand it is...

e) Make sortR type-parametric in instance-of-ordR

which leads me to:

f) make sortR paramaters R-types type-parametric in R+ordR

This is a bit different than typical type-parametrics because it's not
saying that R is type-parametric in ordR, it's saying sortR's
type-paramater(s) must paramaterize R into R+ordR.

I think (f) better captures what jonathan was shooting for in (e), because
it solves the ordR coherence problem in (c,d) above. Namely that if any
paramaters with types containing R escape sortR, those escapes must also be
bound to the same type R+ordR via type-parametrics. This would have the
side-effect of banning any escape of R related types to globals, since
globals can't be type-parametric.

If we forbid any escape of R from sortR then the behavior of c,d,e,f are
the same as far as I can tell.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to