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