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
Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From region inference to von Neumann machines via region representation inference
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Region-based memory management
Information and Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Definition of Standard ML
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Contification using dominators
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Combining region inference and garbage collection
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Flow-Directed Closure Conversion for Typed Languages
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Web Programming with SMLserver
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Safeness of Make-Based Incremental Recompilation
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
A module system independent of base languages
Proceedings of the 1st Workshop on Modules and Libraries for Proof Assistants
SMLtoJs: hosting a standard ML compiler in a web browser
Proceedings of the 1st ACM SIGPLAN international workshop on Programming language and systems technologies for internet clients
Hi-index | 0.00 |
This paper presents a technique for compiling Standard ML Modules into typed intermediate language fragments, which may be compiled separately and linked using traditional linking technology to form executable code. The technique is called static interpretation and allows compile-time implementation details to propagate across module boundaries. Static interpretation eliminates all module-level code at compile time.The technique scales to full Standard ML and is used in the ML Kit with Regions compiler. A framework for smart recompilation makes the technique useful for compiling large programs.