Engineering higher-order modules in SML/NJ

作者: George Kuan , David MacQueen

DOI: 10.1007/978-3-642-16478-1_13

关键词:

摘要: SML/NJ and other Standard ML variants extend the module system with higher-order functors, elevating language to a full functional language. In this paper, we describe implementation of modules in SML/NJ, which is unique providing "true" static behavior. This based on three key ideas: internal variables (entity variables) for naming entities, factorization information both basic functors into signatures realizations, representing "effects" type-level mapping performed by functor using lambda calculus (the entity calculus). design conforms MacQueen-Tofte's re-elaboration semantics without having re-elaborate bodies at applications.

参考文章(29)
Mads Tofte, Robin Milner, Robert Harper, David MacQueen, The Definition of Standard ML (Revised) MIT Press. ,(1997)
Cordelia Hall, Kevin Hammond, Simon Peyton Jones, Philip Wadler, Type Classes in Haskell european symposium on programming. pp. 241- 256 ,(1994) , 10.1007/3-540-57880-3_16
David B. MacQueen, Mads Tofte, A Semantics for Higher-Order Functors european symposium on programming. pp. 409- 423 ,(1994) , 10.1007/3-540-57880-3_27
Christopher Stone, Robert Harper, An Interpretation of Standard ML in Type Theory ,(1997)
Mads Tofte, Mads Tofte, Robert Harper, Robin Milner, The Definition of Standard ML ,(1990)
Benoît Montagu, Didier Rémy, Modeling abstract types in modules with open existential types Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '09. ,vol. 44, pp. 354- 365 ,(2008) , 10.1145/1480881.1480926
Sandip K. Biswas, Higher-order functors with transparent signatures Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '95. pp. 154- 163 ,(1995) , 10.1145/199448.199478
John C. Mitchell, Gordon D. Plotkin, Abstract types have existential types symposium on principles of programming languages. pp. 37- 51 ,(1985) , 10.1145/318593.318606