Abstract
Standard ML has a module system that allows one to define parametric modules, called functors. Functors are “first-order,” meaning that functors themselves cannot be passed as parameters or returned as results of functor applications. This paper presents a semantics for a higher-order module system which generalizes the module system of Standard ML. The higher-order functors described here are implemented in the current version of Standard ML of New Jersey and have proved useful in programming practice.
Chapter PDF
Similar content being viewed by others
References
Maria-Virginia Aponte. Extending record typing to type parametric modules with sharing. In Twentieth Annual ACM Symp. on Principles of Prog. Languages, pages 465–478, New York, Jan 1993. ACM Press.
Andrew W. Appel and David B. MacQueen. Standard ML of New Jersey. In Martin Wirsing, editor, Third Int'l Symp. on Prog. Lang. Implementation and Logic Programming, New York, August 1991. Springer-Verlag, (in press).
Pierre Crégut. Extensions to the sml module system. Rapport de Stage d'Ingenieur Eleve des Telecommunications, November 1992.
Robert Harper and Mark Lillibridge. A type-theoretic approach to higher-order modules with sharing. In Twenty First Annual ACM Symp. on Principles of Prog. Languages, New York, Jan 1994. ACM Press.
Robert Harper, John C. Mitchell, and Eugenio Moggi. Higher-order modules and the phase distinction. In Seventeenth Annual ACM Symp. on Principles of Prog. Languages, pages 341–354, New York, Jan 1990. ACM Press.
Xavier Leroy. Manifest types, modules, and separate compilation. In Twenty First Annual ACM Symp. on Principles of Prog. Languages, New York, Jan 1994. ACM Press.
David MacQueen. Modules for Standard ML. In Proc. 1984 ACM Conf. on LISP and Functional Programming, pages 198–207, New York, 1984. ACM Press.
David MacQueen. Using dependent types to express modular structure. In Thirteenth Annual A CM Symp. on Principles of Prog. Languages, pages 277–286, New York, Jan 1986. ACM Press.
Robin Milner and Mads Tofte. Commentary on Standard ML. MIT Press, Cambridge, Massachusetts, 1991.
Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, Cambridge, MA, 1990.
John C. Mitchell and Robert Harper. The essence of ML. In Fifteenth ACM Symp. on Principles of Programming Languages, pages 28–46, New York, 1988. ACM Press.
Didier Rémy. Typechecking records and variants in a natural extension of ml. In Sixteenth Annual ACM Symp. on Principles of Prog. Languages, pages 77–88, New York, Jan 1989. ACM Press.
Donald Sannella and Andrej Tarlecki. Extended ml: Past, present, and future. Technical Report ECS-LFCS-91-138, Laboratory for Foundations of Computer Science, University of Edinburgh, 1991.
Mads Tofte. Principal signatures for higher-order program modules. In Nineteenth Annual ACM Symp. on Principles of Prog. Languages, pages 189–199, New York, Jan 1992. ACM Press. (Extended version to appear in Journal of Functional Programming)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
MacQueen, D.B., Tofte, M. (1994). A semantics for higher-order functors. In: Sannella, D. (eds) Programming Languages and Systems — ESOP '94. ESOP 1994. Lecture Notes in Computer Science, vol 788. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57880-3_27
Download citation
DOI: https://doi.org/10.1007/3-540-57880-3_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57880-2
Online ISBN: 978-3-540-48376-2
eBook Packages: Springer Book Archive