u/CodmanHyperCubein r/functionalprogramming • Recommends
0:00 / 0:00
#combinators#graphreduction#lambdacalculus
"An Introduction to Combinator Compilers and Graph Reduction Machines" by David Graunke
Strange Loop Conference
88K subscribers • 110 videos on Hallway • Conference channel
- Recommended by 2 people: 1 in engineering communities and 1 curated list.
- Presented by David Graunke
Advanced. Deep dive for people who know the field.
19K views10 years ago2 recommendations
Systems programmingProgramming languagesCompilers and interpretersFunctional programming
David Graunke explains how to compile lambda calculus to pure combinators and implement a graph reduction algorithm for lazy functional languages.
Graph reducing interpreters combined with compilation to combinators creates a "virtual machine" compilation target for pure lazy functional programs that is extremely concise, simple in its semantics, and naturally parallelizable. In their simple forms these techniques are a useful introduction to compiling and interpeting functional languages. In much more sophisticated forms, they illustrate how large-scale compilers are implemented in used in languages like Idris. We'll walk through the process of compiling programs in the lambda calculus to pure combinators and a simple implementation of the most straightforward graph reduction algorithm. With that context, we'll look at the history of graph reduction, from a surge of interest and excitement in the 80s and 90s to serious reservations in the 2000s. We'll look at concrete examples of combinator compilation and graph reduction, and compare with alternative techniques in Haskell's Spineless Tagless G-Machine.Why it's here
2 people recommend thisWhat people say. Recommended as a great introduction to compiling and interpreting functional languages using combinators and graph reduction.
Introduction to Combinator Compilers and Graph Reduction Machines
programming-talkscurated list on GitHubRecommends
Under “Compilers/Interpreters”
An Introduction to Combinator Compilers and Graph Reduction Machines 00:39:30 by **David Graunke** (2016)
u/bsimain r/haskell • Mentions
On “Functional Computer Architectures”
I believe a related concept is the "graph reduction machine", intro video here.
Also: SECD machine. The Book of Shen (contents) has a wonderful chapter 21 on how to implement the SECD.