If the BitC work goes forward, one of the key decisions is whether to admit single inheritance into the language. There are a lot of pros and a lot of cons.
Originally, I chose to go procedural. This was partly because of the EROS/Coyotos experience. EROS was done in C++. The overheads were high. The complexity was high. Ultimately we had to compile with a lot of language features turned off, so it wasn't C++ anymore. It wasn't a good fit, since we (intentionally) didn't want inheritance or exceptions. So in Coyotos I switched back to C. The problem with C was that I really wanted a language with specified semantics. Thus BitC. So we beavered away on BitC, and the time came to start writing the standard library. And for *that* problem there sure seem to be a lot of cases where Interfaces (as opposed to TC instances) seem like a good match. And at least a few places where (single) inheritance seems like a really useful thing. Perhaps I let myself be discouraged too much by the problem with by-ref types not having been first class, and it all would have come out fine. But if we're going to re-open this language, I think we need to come to a resolution on this. And I think it needs to have two parts: (1) a comparative discussion of interfaces and TC instances, and (2) a discussion of pros and cons for admitting objects. shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
