Using Dataflow Optimization Techniques with a Monadic Intermediate Language
Justin George Bailey
- 01 Jan 2012
TL;DR: This dissertation proves the efficacy of the dataflow algorithm's application to functional languages by giving a novel description of the uncurrying optimization in terms of theDataflow algorithm, as well as a complete implementation of the optimization using hoopl.
read more
Abstract: Our work applies the dataflow algorithm to an area outside its traditional scope: functional languages. Our approach relies on a monadic intermediate language that provides low-level, imperative features like computed jumps and explicit allocations, while at the same time supporting high-level, functional-language features like case discrimination and partial application. We prototyped our work in Haskell using the hoopl library and this dissertation shows numerous examples demonstrating its use. We prove the efficacy of our approach by giving a novel description of the uncurrying optimization in terms of the dataflow algorithm, as well as a complete implementation of the optimization using hoopl.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Implementation and Application of Functional Languages
Ralf Hinze
- 01 Jan 2013
TL;DR: This research presents a meta-anatomy of decision-making in the context of knowledge representation, which aims to provide a scaffolding for future generations of scientists to understand and act on the structure of knowledge.
102
MIL, a Monadic Intermediate Language for Implementing Functional Languages
Mark P. Jones,Justin Bailey,Theodore R. Cooper +2 more
- 05 Sep 2018
TL;DR: MIL is a "monadic intermediate language" that is designed for use in optimizing compilers for strict, strongly typed functional languages by using a notation that exposes the construction and use of closures and algebraic datatype values.
3
References
•Book
Compilers: Principles, Techniques, and Tools
Alfred V. Aho,Ravi Sethi,Jeffrey D. Ullman +2 more
- 01 Jan 1986
TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
9.7K
Notions of computation and monads
TL;DR: Calculi are introduced, based on a categorical semantics for computations, that provide a correct basis for proving equivalence of programs for a wide range of notions of computation.
2K
Comprehending monads
Philip Wadler
- 01 May 1990
TL;DR: It is shown how list comprehensions may be generalised to an arbitrary monad, and how the resulting programming feature can concisely express in a pure functional language some programs that manipulate state, handle exceptions, parse text, or invoke continuations.
854
•Book
Compiling with continuations
Andrew W. Appel
- 29 Nov 1991
TL;DR: In this article, the authors show how continuation-passing style is used as an intermediate representation to perform optimizations and program transformations for modern languages like ML, and show how concepts from the theory of programming languages can be applied to the production of practical optimizing compilers.
Related Papers (5)
Jeff Smits,Eelco Visser +1 more
- 23 Oct 2017
Roland Leißa,Marcel Köster,Sebastian Hack +2 more
- 07 Feb 2015
Luís Soares Barbosa,Jácome Cunha,Joost Visser +2 more
- 03 Sep 2007