|
ABSTRACT
Mixin modules are proposed as a new construct for module languages, allowing recursive definitions to span module boundaries. Mixin modules are proposed specifically for the Standard ML language. Several applications are described, including the resolution of cycles in module import dependency graphs, as well as functionality related to Haskell type classes and CLOS generic functions, though without any complications to the core language semantics. Mixin modules require no changes to the core ML type system, and only a very minor change to its run-time semantics. A type system and reduction semantics are provided, and the former is verified to be sound relative to the latter.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Andrew Appel and David MacQueen. Standard ML of New Jersey. In Proceedings of the Symposium on Programming Language implementation and Logic Programming, volume 528 of Lecture Notes in Computer Science, pages 1-13. Springer-Verlag, 1991.
|
 |
2
|
|
 |
3
|
|
| |
4
|
Gilad Bracha and Gary Lindstrom. Modularity meets inheritance. In International Conference on Computer Languages, pages 282-290. IEEE, 1992.
|
| |
5
|
R. M. Burstall. Design considerations for a functional programming language. In Infotech State of the Art Conference, Copenhagen, Denmark, 1977. Infotech.
|
 |
6
|
R. M. Burstall , D. B. MacQueen , D. T. Sannella, HOPE: An experimental applicative language, Proceedings of the 1980 ACM conference on LISP and functional programming, p.136-143, August 25-27, 1980, Stanford University, California, United States
[doi> 10.1145/800087.802799]
|
 |
7
|
|
| |
8
|
Dominic Duggan. Polymorphic methods with self types for ML-like languages. Technical Report CS-95-03, University of Waterloo, Department of Computer Science, 1995.
|
| |
9
|
Dominic Duggan and Frederick Bent. Explaining type inference. Technical Report CS-94-14, University of Waterloo, Waterloo, Ontario, Canada, 1994. To appear in Science of Computer Programming.
|
| |
10
|
Dominic Duggan and John Ophel. Kinded parametric overloading. Technical Report CS-94-35, University of Waterloo, Department of Computer Science, September 1994.
|
| |
11
|
Dominic Duggan and John Ophel. On type-checking multiparameter type classes. To be submitted, 1995.
|
 |
12
|
Jonathan Eifrig , Scott Smith , Valery Trifonov, Sound polymorphic type inference for objects, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.169-184, October 15-19, 1995, Austin, Texas, United States
|
 |
13
|
|
 |
14
|
Paul Hudak , Simon Peyton Jones , Philip Wadler , Brian Boutel , Jon Fairbairn , Joseph Fasel , María M. Guzmán , Kevin Hammond , John Hughes , Thomas Johnsson , Dick Kieburtz , Rishiyur Nikhil , Will Partain , John Peterson, Report on the programming language Haskell: a non-strict, purely functional language version 1.2, ACM SIGPLAN Notices, v.27 n.5, p.1-164, May 1992
[doi> 10.1145/130697.130699]
|
 |
15
|
|
| |
16
|
|
| |
17
|
|
 |
18
|
Xavier Leroy, Manifest types, modules, and separate compilation, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.109-122, January 16-19, 1994, Portland, Oregon, United States
[doi> 10.1145/174675.176926]
|
 |
19
|
|
 |
20
|
Sheng Liang , Paul Hudak , Mark Jones, Monad transformers and modular interpreters, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.333-343, January 23-25, 1995, San Francisco, California, United States
[doi> 10.1145/199448.199528]
|
| |
21
|
|
 |
22
|
John Mitchell , Sigurd Meldal , Neel Madhav, An extension of standard ML modules with subtyping and inheritance, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.270-278, January 21-23, 1991, Orlando, Florida, United States
[doi> 10.1145/99583.99620]
|
 |
23
|
|
| |
24
|
|
 |
25
|
|
| |
26
|
John Ophel. A polymorphic language with first-class modules. Australian Computer Science Communications, 17(1):422--430, February 1995.
|
| |
27
|
|
| |
28
|
Constantinos Sourelis. Mixin modules. Master's thesis, University of Waterloo, 1995.
|
 |
29
|
|
| |
30
|
Philip Wadler. Efficient compilation of pattern-matching. pages 78-103. Prentice-Hall, 1987. Chapter contributed to The implementation of Functional Programming Languages, Simon Peyton-Jones.
|
 |
31
|
|
| |
32
|
Andrew Wright and Matthias Felleisen. A syntactic approach to type soundness. Technical Report TR91-160, Rice University, April 1991.
|
CITED BY 24
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Curtis Clifton , Todd Millstein , Gary T. Leavens , Craig Chambers, MultiJava: Design rationale, compiler implementation, and applications, ACM Transactions on Programming Languages and Systems (TOPLAS), v.28 n.3, p.517-575, May 2006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|