Results 1 -
2 of
2
Hierarchical Modularity
- ACM Transactions on Programming Languages and Systems
, 1999
"... 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 ident ..."
Abstract
-
Cited by 25 (2 self)
- Add to MetaCart
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 a#ect 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. Categories and Subject Descriptors: D.2.2 [Software Engineering]: Tools and Techniques--- Modules and interfaces; D.3.3 [Programming Languages]: Language Constructs and Features ---Modules; packages General Terms: Design, Languages, Management Additional Key Words and Phrases: Compilation management, linking, modularity, modules, name visibility, program structure 1.
Dependency Analysis for Standard ML
- ACM Transactions on Programming Languages and Systems
, 1998
"... Automatic dependency analysis is a useful addition to a system like CM, our compilation manager for Standard ML of New Jersey. It relieves the programmer from the tedious and error-prone task of having to specify compilation dependencies by hand and thereby makes its usage more user-friendly. But de ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
Automatic dependency analysis is a useful addition to a system like CM, our compilation manager for Standard ML of New Jersey. It relieves the programmer from the tedious and error-prone task of having to specify compilation dependencies by hand and thereby makes its usage more user-friendly. But dependency analysis is not easy as the general problem for Standard ML is NP-complete. Therefore, CM has to impose certain restrictions on the programming language to recover tractability. We prove the NP-completeness result, discuss the restrictions on ML that are used by CM, and provide the resulting analysis algorithms. 1 Introduction For programs written in Standard ML [MTH90, MTHM97], the order of compilation matters. But the task of maintaining order within collections of sources can be tedious. Therefore, CM [Blu95], the compilation manager for Standard ML of New Jersey [AM91], o#ers automatic dependency analysis. CM provides a language for specifying the semantic structure of large pr...

