
22 Apr
2009
22 Apr
'09
8:33 a.m.
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