Aside: Several of you, but mainly Matt, have asked why I keep focusing on the left-most specialization and trying to proceed inductively. From a types perspective I agree that this is the wrong thing to do.
I think the reason I keep coming back to that is that given an application f a b c the thing that is going to specialize here is the type of /f/. Only after the types unify will we learn the return type of f and be able talk about the next specialization step. So in this sense specialization proceeds left-ro-right. The problem with this view is that all of these chained specializations actually happen in parallel, and either they all collectively arrive at a valid unification of types or they do not. No new proposition or conclusion here. Just an explanation of why I keep getting stuck in this way. shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
