Affiliation:
1. Princeton Univ., Princeton, NJ
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Reference24 articles.
1. Analysis and caching of dependencies
2. The cost of selective recompilation and environment processing
3. Arnold K. and Gosling J. 1996. The Java Programming Language. Addison Wesley Reading MA. Arnold K. and Gosling J. 1996. The Java Programming Language. Addison Wesley Reading MA.
4. Blume M. 1995. Standard ML of New Jersey compilation manager. Manual accompanying SML/NJ software. Blume M. 1995. Standard ML of New Jersey compilation manager. Manual accompanying SML/NJ software.
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Skalpel: A constraint-based type error slicer for Standard ML;Journal of Symbolic Computation;2017-05
2. Experience report;ACM SIGPLAN Notices;2007-10
3. A Formal Framework for Java Separate Compilation;ECOOP 2002 — Object-Oriented Programming;2002
4. Hierarchical modularity;ACM Transactions on Programming Languages and Systems;1999-07