2010/3/11 Jonathan S. Shapiro <[email protected]>: > Certainly true. What else comes to mind that doesn't map straightforwardly > into BitC? The main thing I see at this point is method overload resolution.
One has to express the null reference somehow; the obvious solution is to use maybe for all interop references. I suppose there might be difficulties with constraints and type classes, them being quite overlapping yet somewhat incompatible (I think) features. However, I was mainly thinking about the amount of work required, all the tiny details of property getters/setters, events, delegates, etc. In addition, you probably have to be careful with subtyping and null (if you choose to include it) in order to preserve soundness. But if you feel it can be pulled off in a reasonable amount of time, who am I to argue. My gut feeling says that the compiler backend for CLI may be easy to develop, but the interop part is going to be a lot of work, especially compared to a simple FFI for C. By the way, if you haven't checked out Scala yet, I recommend to do so. It's fancy (and IMO somewhat too complex) type system is basically a hybrid between object-oriented and functional languages with many unifying abstractions. I think it was claimed that the type system was unsound, though. Scala aims to do both Java and CLI interop (maybe LLVM too?), but the latter one is still in the works. _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
