Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '91 1991
DOI: 10.1145/99583.99620
|View full text |Cite
|
Sign up to set email alerts
|

An extension of standard ML modules with subtyping and inheritance

Abstract: We describe a general module language integrating abstract data types, specifications and object-oriented

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
12
0

Year Published

1994
1994
2013
2013

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 36 publications
(12 citation statements)
references
References 19 publications
0
12
0
Order By: Relevance
“…nesT modules are more expressive in their support of first class modules as values and the possibility of dynamic construction of "type exports." That said, first class modules are not new [1,25], we only claim novelty in their application to program staging and the incorporation of dynamic type construction.…”
Section: Related Workmentioning
confidence: 94%
“…nesT modules are more expressive in their support of first class modules as values and the possibility of dynamic construction of "type exports." That said, first class modules are not new [1,25], we only claim novelty in their application to program staging and the incorporation of dynamic type construction.…”
Section: Related Workmentioning
confidence: 94%
“…Indeed our approach mainly comes from the domain of functional languages, where parametricity in module systems has been largely studied [3]. Extensions of modules with subtyping and inheritance were proposed, e.g [11], but in a context of side-effect-free languages. This is on-going work and it clearly remains to formalize the proposed constructions, to express what are the necessary verification conditions in general, and to show a soundness result.…”
Section: Related Work Perspectivesmentioning
confidence: 99%
“…For example, rather than regard generativity of abstract types as an alternative to non-generative types, we make both mechanisms available in the language. We support both generative and applicative functors, admit translucent signatures, support separate compilation, and are able to accommodate modules as first-class values [24,29].…”
Section: A Type System For Modulesmentioning
confidence: 99%
“…However, following Mitchell et al [24] and Russo [29], we provide a way of packaging a module as a first-class value. In prior work, such packaged modules are typically given an existential type, whose closed-scope elimination construct can make for awkward programming.…”
Section: Existential Signaturesmentioning
confidence: 99%