Affiliation:
1. National Technical University of Athens School of Electrical and Computer Engineering Software Engineering Laboratory, Athens, Greece
Abstract
Defunctionalization is generally considered a whole-program transformation
and thus incompatible with separate compilation. In this paper, we formalize
a modular variant of defunctionalization which can support separate
compilation for a functional programming language with parametric
polymorphism. Our technique allows modules in a Haskell-like language to be
separately defunctionalized and compiled, then linked together to generate
an executable program. We provide a prototype implementation of our modular
defunctionalization technique and we discuss the experiences of its
application in compiling a large subset of Haskell to low-level C code,
based on the intensional transformation.
Publisher
National Library of Serbia
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Type- and Control-Flow Directed Defunctionalization;IFL 2020: Proceedings of the 32nd Symposium on Implementation and Application of Functional Languages;2020-09-02
2. Refunctionalization of abstract abstract machines: bridging the gap between abstract abstract machines and abstract definitional interpreters (functional pearl);Proceedings of the ACM on Programming Languages;2018-07-30
3. Defunctionalisation as modular closure conversion;Proceedings of the 19th International Symposium on Principles and Practice of Declarative Programming;2017-10-09