"An Introduction to Combinator Compilers and Graph Reduction Machines" by David Graunke

  Рет қаралды 15,207

Strange Loop Conference

Strange Loop Conference

Күн бұрын

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.

Пікірлер: 10
@DunktLOL
@DunktLOL 16 күн бұрын
Thanks for this presentation, very content dense but digestible enough. Here from Bend/HVM
@gralha_
@gralha_ Жыл бұрын
I've recently seen a optimal reduction VM that avoids using graphs and is able to achieve much better performance (close to C levels), called HVM. It also supports easy parallelization, just like the graph reduction VMs mentioned here. It's real promising and looks to me like the future of the types of tech explained in this video.
@IanDutfield
@IanDutfield Жыл бұрын
Inspirational. Thanks. It's still abstract, weird, and yet amazing. I like how you addressed the implementations and the challenges. I think there is more to be discovered here for those that dare to push forward.
@derelbenkoenig
@derelbenkoenig 3 жыл бұрын
Around 26:00 In the graph for the expression (S + I 5) were the positions of the (+) and the (I) flipped or am I just confused?
@user-vp5el8yk5y
@user-vp5el8yk5y 3 жыл бұрын
I’m also confused. That is probably a mistake.
@yuricarvalho8196
@yuricarvalho8196 5 жыл бұрын
This is truly amazing!
@johnwerner3714
@johnwerner3714 5 жыл бұрын
Thanks great lecture. You're a natural teacher. I'm much closer to getting the SKI calculus.
@kenc.4598
@kenc.4598 7 жыл бұрын
Super interesting talk David! Thanks for putting it together. I came across the Reduceron paper last year and was intrigued too. I can't shake the feeling that there is a much better hardware solution waiting for us somewhere in the future, but I'm a software guy! I'm definitely going to spend some more time looking into combinators though. Cheers!
@dragolov
@dragolov 2 жыл бұрын
Respect!
@KennethKasajian
@KennethKasajian 6 жыл бұрын
A huge "aha!!!!" at 27:27
"Concatenative programming and stack-based languages" by Douglas Creager
40:30
Strange Loop Conference
Рет қаралды 12 М.
어른의 힘으로만 할 수 있는 버블티 마시는법
00:15
진영민yeongmin
Рет қаралды 12 МЛН
$10,000 Every Day You Survive In The Wilderness
26:44
MrBeast
Рет қаралды 71 МЛН
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 58 МЛН
Eccentric clown jack #short #angel #clown
00:33
Super Beauty team
Рет қаралды 27 МЛН
Ben Lynn on "MacGyver's Haskell Compiler" @ZuriHac2023
1:01:25
OST – Ostschweizer Fachhochschule
Рет қаралды 1,7 М.
"Exotic Functional Data Structures: Hitchhiker Trees" by David Greenberg
40:33
Strange Loop Conference
Рет қаралды 16 М.
"Point-Free or Die: Tacit Programming in Haskell and Beyond" by Amar Shah
36:13
Strange Loop Conference
Рет қаралды 28 М.
An introduction to graph rewriting for procedural content generation
7:31
Lambda Calculus - Computerphile
12:40
Computerphile
Рет қаралды 1 МЛН
"Why Programming Languages Matter" by Andrew Black
56:39
Strange Loop Conference
Рет қаралды 25 М.
Functional Parsing - Computerphile
22:46
Computerphile
Рет қаралды 133 М.
Essentials: Functional Programming's Y Combinator - Computerphile
13:26
"Propositions as Types" by Philip Wadler
42:43
Strange Loop Conference
Рет қаралды 124 М.
ПРОБЛЕМА МЕХАНИЧЕСКИХ КЛАВИАТУР!🤬
0:59
Корнеич
Рет қаралды 3,6 МЛН
Iphone or nokia
0:15
rishton vines😇
Рет қаралды 335 М.
👎Главный МИНУС планшета Apple🍏
0:29
Demin's Lounge
Рет қаралды 514 М.
как спасти усилитель?
0:35
KS Customs
Рет қаралды 524 М.