Conversation

AFAIK using dependent records-as-modules in a simpler MLTT-based type systems is tricky, because singleton types (aka. 'manifest fields') usually depend on equality reflection. Has anyone applied cubical type theory to the problem of first class module systems?
5
5
There's an excellent chapter about the design of module systems in Benjamin Pierce's “Advanced Topics in Types and Programming”. The design and history of Standard ML's modules are also covered in ”The History of Standard ML”:
1
1
There's been lots more work in module systems after SML though, regarding mixins, mutual recursion, combining the ideas with object oriented programming, etc. The design space can be a bit bewildering, and the nomenclature intimidating.
1
Yeah, you can kind of think of these as 'fancy versions' of the modules you are normally familiar with in most PLs. You can give them types, and parameterize them, etc. They also can be extended to support typeclass style ad-hoc polymorphism.
1
Heheh, I just bought it (a few months ago), but haven't had a chance to look at it much. Tend to buy these things for my personal library so that they're on hand if I need them!
1
1
Show replies