2014
DOI: 10.1017/s0956796814000264
|View full text |Cite
|
Sign up to set email alerts
|

F-ing modules

Abstract: ML modules are a powerful language mechanism for decomposing programs into reusable components. Unfortunately, they also have a reputation for being "complex" and requiring fancy type theory that is mostly opaque to non-experts. While this reputation is certainly understandable, given the many non-standard methodologies that have been developed in the process of studying modules, we aim here to demonstrate that it is undeserved. To do so, we present a novel formalization of ML modules, which defines their sema… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

2
84
0

Year Published

2015
2015
2020
2020

Publication Types

Select...
6
1
1

Relationship

0
8

Authors

Journals

citations
Cited by 40 publications
(86 citation statements)
references
References 45 publications
(145 reference statements)
2
84
0
Order By: Relevance
“…MixML (Dreyer and Rossberg, 2008) drops the stratification requirement between module and term language and enables modules as first class values as well as mixin-style recursive definitions. More recent work models key aspects of modules as extensions of System F (Montagu and Rémy, 2009;Rossberg et al, 2014). The latest development, 1ML (Rossberg, 2015), unifies the ML module and core languages through an elaboration to System F ω .…”
Section: Related Workmentioning
confidence: 99%
“…MixML (Dreyer and Rossberg, 2008) drops the stratification requirement between module and term language and enables modules as first class values as well as mixin-style recursive definitions. More recent work models key aspects of modules as extensions of System F (Montagu and Rémy, 2009;Rossberg et al, 2014). The latest development, 1ML (Rossberg, 2015), unifies the ML module and core languages through an elaboration to System F ω .…”
Section: Related Workmentioning
confidence: 99%
“…ML Module Systems 1ML [37] unifies the ML module and core languages through an elaboration to System F ω based on earlier such work [38]. Compared to DOT, the formalism treats recursive modules in a less general way and it only models fully abstract vs fully concrete types, not bounded abstract types.…”
Section: Related Workmentioning
confidence: 99%
“…All these approaches turn out to be equivalent, but the cofinite quantification is gaining popularity in the programming language community because it eliminates typical renaming lemmas (but not all renaming lemmas). Recent work by Garrigue [6], Montagu [15], and Rossberg et al [19] reports the strength of cofinite quantification as well as its pitfalls.…”
Section: Related Workmentioning
confidence: 99%