Hi Claus,
thanks for your elaborations. I'm still not convinced that a common name
(e.g. TT :. Tr :. Tu :. Te) is a better interface than a common import
(e.g. TypeLevel.Bool.True). In both cases, the authors of all modules
have to actively collaborate, either to define common names, or to
define common imports.
But I begin to see how type-level atoms could help to, e.g., implement
more advanced module system as type-level embedded DSLs in Haskell.
Standard ML's answer to that kind of issue is type sharing.
Does type sharing help with making modules retroactively compatible?
Tillmann
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe