filmov
tv
'An Introduction to Combinator Compilers and Graph Reduction Machines' by David Graunke
Показать описание
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.
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.
'An Introduction to Combinator Compilers and Graph Reduction Machines' by David Graunke
Booleans in HoTT: Boolean Combinators [Intro to HoTT, No. 3, Part 0]
The most intriguing discovery of Computer Science: the Y combinator demystified.
Introduction to Combinatory Logic – #SoME2
Esther Wang - Typing the Y Combinator - λC 2018
Functional Compilers: From CFG to EXE
Combinator libraries (also, comonads!)
Understanding parser combinators: a deep dive - Scott Wlaschin
Higher Order Company - Origins of the HVM
Composition Intuition by Conor Hoekstra | Lambda Days 2023
Plait Y 5 - Y combinator
HIW 2021 - Haskell reinterpreted – large-scale real-world experience with the Mu compiler
Lambda Calculus vs. Turing Machines (Theory of Computation)
Learn Lambda Calculus: The language with ONLY FUNCTIONS
A Flock of Functions: Lambda Calculus and Combinatory Logic in JavaScript | Gabriel Lebec @ DevTalks
JuliaCon 2020 | Iterable Parser Combinators for fast parsing in pure Julia | Gregor Kappler
on the readability of parser combinators #shorts
Lightning Talk: Finding My First Compiler Bug - Braden Ganetsky - CppNow 2023
Functional concepts in Smalltalk: The Y Combinator
BCKW Combinator Calculus
Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript
Welcome to the Machines by Aloïs Cochard
GopherCon 2022: Jeremy Brown - Parsing w/o Code Generators: Parser Combinators in Go with Generics
Stefanie Schirmer - Parsers All The Way Down? Exploring Combinator Parsing - DomCode 2015
Комментарии