Higher-order modules and the phase distinction
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the type structure of standard ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Manifest types, modules, and separate compilation
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type-theoretic approach to higher-order modules with sharing
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TIL: a type-directed optimizing compiler for ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Units: cool modules for HOT languages
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Hierarchical modulatory and intermodule optimization
Hierarchical modulatory and intermodule optimization
Typed cross-module compilation
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A type-theoretic interpretation of standard ML
Proof, language, and interaction
Type definitions with parameters
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Definition of Standard ML
WADT '97 Selected papers from the 12th International Workshop on Recent Trends in Algebraic Development Techniques
The Equivalence Problem for Deterministic Pushdown Automata is Decidable
ICALP '97 Proceedings of the 24th International Colloquium on Automata, Languages and Programming
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Transparent modules with fully syntatic signatures
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Recursive subtyping revealed: (functional pearl)
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Modular mixin-based inheritance for application frameworks
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Recursive structures for standard ML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Type-preserving compilation of Featherweight Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type-Safe linking with recursive DLLs and shared libraries
ACM Transactions on Programming Languages and Systems (TOPLAS)
A type system for higher-order modules
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Calculus for Link-Time Compilation
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Mixin Modules in a Call-by-Value Setting
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
MIX(FL): A Kernel Language of Mixin Modules
AMAST '00 Proceedings of the 8th International Conference on Algebraic Methodology and Software Technology
True Modules for Java-like Languages
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Sharing in Typed Module Assembly Language
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Equational Reasoning for Linking with First-Class Primitive Modules
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
A type system for well-founded recursion
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A theory of mixin modules: algebraic laws and reduction semantics
Mathematical Structures in Computer Science
Journal of Functional Programming
Journal of Functional Programming
Journal of Functional Programming
The recursive record semantics of objects revisited
Journal of Functional Programming
An expressive language of signatures
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Mixin modules in a call-by-value setting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Recursive modules for programming
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
From structures and functors to modules and units
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Deriving components from genericity
Proceedings of the 2007 ACM symposium on Applied computing
Knit: component composition for systems software
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
A type system for recursive modules
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Journal of Functional Programming
Component nextgen: a sound and expressive component framework for java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Mixin' up the ML module system
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
ML Modules and Haskell Type Classes: A Constructive Comparison
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Compilation of extended recursion in call-by-value functional languages
Higher-Order and Symbolic Computation
A unified framework and a transparent name-space for the Coq module system
Proceedings of the 1st Workshop on Modules and Libraries for Proof Assistants
DynXML: safely programming the dynamic web
APLWACA '10 Proceedings of the 2010 Workshop on Analysis and Programming Languages for Web Applications and Cloud Applications
A syntactic type system for recursive modules
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
A core calculus for scala type checking
MFCS'06 Proceedings of the 31st international conference on Mathematical Foundations of Computer Science
Private row types: abstracting the unnamed
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Recursive structures for standard ML
ACM SIGPLAN Notices - Supplemental issue
Mixin’ Up the ML Module System
ACM Transactions on Programming Languages and Systems (TOPLAS)
Contractive signatures with recursive types, type parameters, and abstract types
ICALP'13 Proceedings of the 40th international conference on Automata, Languages, and Programming - Volume Part II
Backpack: retrofitting Haskell with interfaces
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
A hierarchical module system is an effective tool for structuring large programs. Strictly hierarchical module systems impose an acyclic ordering on import dependencies among program units. This can impede modular programming by forcing mutually-dependent components to be consolidated into a single module. Recently there have been several proposals for module systems that admit cyclic dependencies, but it is not clear how these proposals relate to one another, nor how one might integrate them into an expressive module system such as that of ML.To address this question we provide a type-theoretic analysis of the notion of a recursive module in the context of a "phase-distinction" formalism for higher-order module systems. We extend this calculus with a recursive module mechanism and a new form of signature, called a recursively dependent signature, to support the definition of recursive modules. These extensions are justified by an interpretation in terms of more primitive language constructs. This interpretation may also serve as a guide for implementation.