TIM: A simple, lazy abstract machine to execute supercombinators
Proc. of a conference on Functional programming languages and computer architecture
The Computer Journal - Special issue on Lazy functional programming
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
A natural semantics for lazy evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Benchmarking real-life image processing programs in lazy functional languages
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Lambdas in the liftshaft—functional programming and an embedded architecture
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Lag, drag, void and use—heap profiling and space-efficient compilation revisited
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Understanding memory allocation of scheme programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
A Strategic Profiler for Glasgow Parallel Haskell
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
Comparing Parallel Functional Languages: Programming and Performance
Higher-Order and Symbolic Computation
How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger
Journal of Functional Programming
Profiling large-scale lazy functional programs
Journal of Functional Programming
The call-by-need lambda calculus
Journal of Functional Programming
Algorithm + strategy = parallelism
Journal of Functional Programming
Deriving a lazy abstract machine
Journal of Functional Programming
On the effectiveness of functional language features: NAS benchmark FT
Journal of Functional Programming
Java virtual machine profiler interface
IBM Systems Journal
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Comprehensive profiling support in the javaTM virtual machine
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Space profiling for parallel functional programs
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
A cost semantics for self-adjusting computation
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Commercial uses: Going functional on exotic trades
Journal of Functional Programming
Space profiling for parallel functional programs
Journal of Functional Programming
Implicit self-adjusting computation for purely functional programs
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
The runtime structure of object ownership
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Hi-index | 0.00 |
We present the first profiler for a compiled, non-strict, higher-order, purely functional language capable of measuring time as well as space usage. Our profiler is implemented in a production-quality optimising compiler for Haskell, has low overheads, and can successfully profile large applications.A unique feature of our approach is that we give a formal specification of the attribution of execution costs to cost centres. This specification enables us to discuss our design decisions in a precise framework. Since it is not obvious how to map this specification onto a particular implementation, we also present an implementation-oriented operational semantics, and prove it equivalent to the specification.