Pending discussion, it seems to me that we have a viable outcome on mutability. The pending issue is type classes,
We seem to face two problems with type classes. The first is that BitC has inboard types, and this entails parametricity over sizes. If we assume a dynamic compilation component, this admits multiple solutions. If we require static compilation it seems hopeless. How bad is this in practice? The second issue is type class instance resolution. The problem here is that (a) instance resolution is ambiguous, and (b) the scope to be used is ambiguous. The latter is, in practice, more of an issue than the former. The overwhelming majority of type class instances are single variable. Single variable classes are nicely captured by inheritance. This raises the question: do we *need* multivariable classes outside of compiled builtins, and if not, is single inheritance and overloading sufficient? Shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
