3 ms·
Abstract types have existential type. ML/Coq modules are just existentially-typed "package" data. Haskell type-classes are just another variation on the same
by eli_gottlieb 11y ago
Abstract types have existential type. ML/Coq modules are just existentially-typed "package" data. Haskell type-classes are just another variation on the same concept, with only one instantiation of the type-class allowed at each internal type so the compiler can search for instances coherently.
http://dl.acm.org/citation.cfm?id=45065&dl=ACM&coll=DL&CFID=756942517&CFTOKEN=16252012 http://dl.acm.org/citation.cfm?id=45065&dl=ACM&coll=DL&CFID=...
Which reminds me, I should finish reading Tomer Ullman's PhD thesis to see if he managed to integrate existential types into his theory of causal-role concepts and theory formation.