APPENDICES and SUPPLEMENTS
|
|
Online appendix to designing mediation for context-aware applications. The appendix supports the information on page 857.
|
ABSTRACT
The ML module system provides powerful parameterization facilities, but lacks the ability to split mutually recursive definitions across modules and provides insufficient support for incremental programming. A promising approach to solve these issues is Ancona and Zucca's mixin module calculus CMS. However, the straightforward way to adapt it to ML fails, because it allows arbitrary recursive definitions to appear at any time, which ML does not otherwise support. In this article, we enrich CMS with a refined type system that controls recursive definitions through the use of dependency graphs. We then develop and prove sound a separate compilation scheme, directed by dependency graphs, that translates mixin modules down to a call-by-value λ-calculus extended with a nonstandard let rec construct.
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
|
|
| |
2
|
Ancona, D. 1998. Modular formal frameworks for module systems. Ph.D. dissertation. Universita di Pisa, Pisa, Italy.
|
| |
3
|
|
| |
4
|
|
| |
5
|
Ariola, Z. M. and Blom, S. 2002. Skew confluence and the lambda calculus with letrec. Ann. Pure Appl. Logic 117, 1--3, 95--178.
|
 |
6
|
Andrew P. Black , Nathanael Schärli , Stéphane Ducasse, Applying traits to the smalltalk collection classes, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
| |
7
|
Bono, V., Bugliesi, M., Dezani-Ciancaglini, M., and Liquori, L. 1999. Subtyping for extensible, incomplete objects. Fund. Info. 38, 4, 325--364.
|
| |
8
|
|
| |
9
|
|
 |
10
|
|
 |
11
|
|
| |
12
|
|
| |
13
|
|
 |
14
|
Karl Crary , Robert Harper , Sidd Puri, What is a recursive module?, Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, p.50-63, May 01-04, 1999, Atlanta, Georgia, United States
|
 |
15
|
|
| |
16
|
Dreyer, D. R., Crary, K., and Harper, R. 2001. Toward a practical type theory for recursive modules. Tech. Rep. CMU-CS-01-112, Carnegie Mellon University.
|
| |
17
|
Dreyer, D., Harper, R., and Crary, K. 2003. A type system for well founded recursion. Tech. Rep. CMU-CS-03-163, Carnegie Mellon University.
|
 |
18
|
|
 |
19
|
|
 |
20
|
|
 |
21
|
Matthew Flatt , Shriram Krishnamurthi , Matthias Felleisen, Classes and mixins, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.171-183, January 19-21, 1998, San Diego, California, United States
[doi> 10.1145/268946.268961]
|
 |
22
|
|
| |
23
|
Hirschowitz, T. 2003. Modules mixins, modules et récursion étendue en appel par valeur. Ph.D. dissertation. University Paris 7.
|
 |
24
|
|
| |
25
|
Hirschowitz, T., Leroy, X., and Wells, J. B. 2004. Call-by-value mixin modules: Reduction semantics, side effects, types. In Proceedings of the Programming Languages and Systems, 13th European Symposium on Programming, ESOP 2004. Lecture Notes in Computer Science, vol. 2986. Springer-Verlag, Berlin, Germany, 64--78.
|
 |
26
|
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]
|
| |
27
|
Lillibridge, M. 1997. Translucent sums: A foundation for higher-order module systems. Ph.D. dissertation. School of Computer Science, Carnegie Mellon University.
|
 |
28
|
|
 |
29
|
|
| |
30
|
|
REVIEW
"R. Clayton : Reviewer"
Mixins, collections of defined and referenced program entities, may fulfill object-oriented programming's seductive and long-standing promise for flexibly structured and reusable code components. As always, however, mutual recursion causes problem
more...
|