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

Reply via email to