Are BitC's modules transparent or Opaque?

That is, if a module exports a particular interface, if it is not opaque (think SML), then all of the types used in the implementation will "show through" even though they are not intentionally exported.

Otherwise, the implementation types can be made opaque to the world at the cost of limiting the inference. The situation can be ameliorated by using Ocaml style manifest types [1]. In this case, we will need to add syntactic support as in:

(export ident:type ident:type ident:type ... )

[1] http://caml.inria.fr/pub/papers/xleroy-manifest_types-popl94.pdf

_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to