| An expressive language of signatures |
| Full text |
Pdf
(280 KB)
|
| Source
|
International Conference on Functional Programming
archive
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
table of contents
Tallinn, Estonia
SESSION: Session 2
table of contents
Pages: 27 - 40
Year of Publication: 2005
ISBN:1-59593-064-7
Also published in ...
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 25, Citation Count: 3
|
|
|
ABSTRACT
Current languages allow a programmer to describe an interface only by enumerating its parts, possibly including other interfaces wholesale. Such languages cannot express relationships between interfaces, yet when independently developed software components are combined into a larger system, significant relationships arise.To address this shortcoming, we define, as a conservative extension of ML, a language for manipulating interfaces. Our language includes operations for adding, renaming, and removing components; for changing the type associated with a value; for making manifest types abstract and vice versa; and for combining interfaces. These operations can express useful relationships among interfaces. We have defined a formal semantics in which an interface denotes a group of four sets; we show how these sets determine a subtyping relation, and we sketch the elaboration of an interface into its denotation.
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
|
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
|
 |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
Robert Harper and Benjamin C. Pierce. 2005. Design considerations for ML-style module systems. In Benjamin C. Pierce, editor, Advanced Topics in Types and Programming Languages, chapter 8. MIT Press.
|
| |
7
|
|
| |
8
|
Roberto Ierusalimschy. 2003 (December). Programming in Lua. Lua.Org. ISBN 85-903798-1-7.
|
 |
9
|
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]
|
| |
10
|
|
| |
11
|
|
 |
12
|
|
| |
13
|
Norman Ramsey, Kathleen Fisher, and Paul Govereau. 2005 (September). An expressive language of interfaces — extended version. Technical report, Division of Engineering and Applied Sciences, Harvard University. To appear.
|
 |
14
|
|
|