Miranda: a non-strict functional language with polymorphic types
Proc. of a conference on Functional programming languages and computer architecture
Lambda lifting: transforming programs to recursive equations
Proc. of a conference on Functional programming languages and computer architecture
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
The categorical abstract machine
Science of Computer Programming
TIM: A simple, lazy abstract machine to execute supercombinators
Proc. of a conference on Functional programming languages and computer architecture
The G-machine as a representation of stack semantics
Proc. of a conference on Functional programming languages and computer architecture
Non-strict languages-programming and implementation
The Computer Journal - Special issue on Lazy functional programming
Realistic compilation by program transformation (detailed summary)
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Continuation-passing, closure-passing style
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics-directed code generation
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Mechanisms for efficient multiprocessor combinator reduction
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Implementing functional languages in the Categorical Abstract Machine
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Properties of a Notation for Combining Functions
Journal of the ACM (JACM)
Deriving Target Code as a Representation of Continuation Semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Control Flow Aspects of Semantics-Directed Compiling
ACM Transactions on Programming Languages and Systems (TOPLAS)
GEDANKEN—a simple typeless language based on the principle of completeness and the reference concept
Communications of the ACM
Efficient compilation of lazy evaluation
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
State transition machines for lambda calculus expressions
Semantics-Directed Compiler Generation, Proceedings of a Workshop
Compiling a functional language
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Super-combinators a new implementation method for applicative languages
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
Rabbit: A Compiler for Scheme
CPS-transformation after strictness analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
The correctness of an optimized code generation
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Let-floating: moving bindings to give faster programs
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Lightweight closure conversion
ACM Transactions on Programming Languages and Systems (TOPLAS)
A systematic study of functional language implementations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Building program optimizers with rewriting strategies
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Within ARM's reach: compilation of left-linear rewrite systems via minimal rewrite systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Warm fusion in Stratego: A case study in generation of program transformation systems
Annals of Mathematics and Artificial Intelligence
Higher-Order and Symbolic Computation
Automatic amortised analysis of dynamic memory allocation for lazy functional programs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
One of the most important issues concerning functional languages is the efficiency and the correctness of their implementation. We focus on sequential implementations for conventional von Neumann computers. The compilation process is described in terms of program transformations in the functional framework. The original functional expression is transformed into a functional term that can be seen as a traditional machine code. The two main steps are the compilation of the computation rule by the introduction of continuation functions and the compilation of the environment management using combinators. The advantage of this approach is that we do not have to introduce an abstract machine, which makes correctness proofs much simpler. As far as efficiency is concerned, this approach is promising since many optimizations can be described and formally justified in the functional framework.