Separate compilation for Standard ML

Separate compilation for Standard ML
复制标题

标准 ML 的单独编译

DOI:
10.1145/178243.178245
复制
发表时间:
1994
期刊:
--
影响因子:
--
通讯作者:
David B. MacQueen
David B. MacQueen
中科院分区:
--
文献类型:
--
作者:
A. Appel;David B. MacQueen

文献摘要

被引文献

相似文献

支持抽象和模块化结构的语言,例如标准ML,模量,ADA和(或多或少)C ++,可能在ML中具有深度嵌套的依赖性层次结构。函数)设施实体依赖性在实现模块之间,而不仅仅是界面之间。 为了有效地以这种语言来编译单个模块,可以(在ML,必要)中可以通过每个模块的编译来推断,消化和缓存静态环境。 我们的系统提供了一个简单的汇编和链接模型,该模型支持增量重新编译(单独的汇编形式),该模型具有类型安全的链接。我们称之为“可见编译器”。
Languages that support abstraction and modular structure, such as Standard ML, Modula, Ada, and (more or less) C++, may have deeply nested dependency hierarchies among source files. In ML the problem is particularly severe because ML's powerful parameterized module (functor) facility entails dependencies among implementation modules, not just among interfaces. To efficiently compile individual modules in such languages, it is useful (in ML, necessary) to infer, digest, and cache the static environment resulting from the compilation of each module. Our system provides a simple model of compilation and linkage that supports incremental recompilation (a restricted form of separate compilation) with type-safe linkage. This model is made available to user programs in the form of a set of internal compiler modules, a feature that we call the “visible compiler”. The chief client of this interface is the IRM incremental recompilation manager from CMU.