Object-oriented development in an industrial environment
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
X Window system: C Library and protocol reference
X Window system: C Library and protocol reference
The definition of Standard ML
The annotated C++ reference manual
The annotated C++ reference manual
The C programming language
The cost of selective recompilation and environment processing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Separate compilation for Standard ML
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Software portability with imake (2nd ed.)
Software portability with imake (2nd ed.)
Abstracting dependencies between software configuration items
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Modern compiler implementation in ML: basic techniques
Modern compiler implementation in ML: basic techniques
Program fragments, linking, and modularization
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Flux OSKit: a substrate for kernel and language research
Proceedings of the sixteenth ACM symposium on Operating systems principles
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
Dependency analysis for Standard ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the criteria to be used in decomposing systems into modules
Communications of the ACM
The Definition of Standard ML
Practical use of a polymorphic applicative language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Organizing software in a distributed environment
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Incremental Recompilation for Standard ML of New Jersey
Incremental Recompilation for Standard ML of New Jersey
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
Dependency analysis for Standard ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modules, abstract types, and distributed versioning
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mechanisms for secure modular programming in Java
Software—Practice & Experience - Special issue: Security software
An expressive language of signatures
Proceedings of the tenth 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
The missing link: dynamic components for ML
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A separate compilation extension to standard ML
Proceedings of the 2006 workshop on ML
Verifying design modularity, hierarchy, and interaction locality using data clustering techniques
ACM-SE 45 Proceedings of the 45th annual southeast regional conference
The road to feature modularity?
Proceedings of the 15th International Software Product Line Conference, Volume 2
Growing a language environment with editor libraries
Proceedings of the 10th ACM international conference on Generative programming and component engineering
A variability-aware module system
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
To cope with the complexity of very large systems, it is not sufficient to divide them into simple pieces because the pieces themselves will either be too numerous or too large. A hierarchical modular structure is the natural solution. In this article we explain how that approach can be applied to software. Our compilation manager provides a language for specifying where individual modules fit into a hierarchy and how they are related semantically. We pay particular attention to the structure of the global name space of program identifiers that are used for module linkage because any potential for name clashes between otherwise unrelated parts of a program can negatively affect modularity. We discuss the theoretical issues in building software hierarchically, and we describe our implementation of CM, the compilation manager for Standard ML of New Jersey.