Raoul: I'm afraid you shouldn't hold your breath on this request, but it may help that the things you are asking about are mostly orthogonal.
The slippery slopes in subtyping mainly have to do with interactions between subtyping and type inference. There is a *huge* research literature on this, and the devil is in the details. There are several ways to dodge or mitigate the bullets. We're not far enough along in BitC to know whether those will work for us yet, which is part of my hesitation. I also hesitate because once you commit yourself to dodging a bullet in a particular way, that choice will tend to constrain the future ways in which the type system of the language can evolve. If you want to try to get a feel for this, the best source might be Benjamin Pierce's book Types and Programming Languages. If you're more inclined toward academic papers: Simple, Decidable Type Inference with Subtyping <https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0CDMQFjAC&url=http%3A%2F%2Farxiv-web3.library.cornell.edu%2Fpdf%2F1104.3116v1&ei=fgC8U97rGar-igLnIQ&usg=AFQjCNHBxWy_UoSWCzi0aUNwglJY7zIr6w&sig2=rOzL6Uks2pKCTwU1ARpqeQ&bvm=bv.70138588,d.cGE> My personal expectation is that the real killer for inference in BitC is going to turn out to be something called kinding. That's an issue that's considered too advanced for TAPL to address. As to interfaces, I'm really only aware of two kinds (ignoring BitC): in some legacy languages an interface is really a module boundary. Otherwise, the Java/C# notion of interfaces seems to be how people do things. BitC interfaces are probably misnamed. What they really do is existential encapsulation, which is why they were originally named "capsules". At some point I noticed that they looked a whole lot like interfaces (except for the downcast and identity issues) and started calling them that. The discussion here on the list strongly suggests that calling them "interfaces" probably isn't a good idea. And yes, BitC needs a blog (or better: a CMS). I haven't put one up on my machines because of security concerns, and because I don't want the blog to detract from the discussions here. It may be time to start one, though. Not sure how helpful this is... shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
