Lambda calculus: η-conversion
// 1) direct val
'bingo!'
// 2) delayed value x1: thunk 1
(() => 'bingo!')()
// 2) delayed value x2: thunk 1+1
(() => (() => 'bingo!') ()) ()
// 2) delayed value x3: thunk 1+1+1
(() => (() => (() => 'bingo!') ()) ()) ()
// 2) delayed value x4: thunk 1+1+1+1
( () => (
() => (
() => (
() => 'bingo!'
) ()
) ()
) ()
) ()
//
(v => (v => 3) (v)) ()
(c => (b => (a => 3) (b)) (c)) ()
//
(c =>
(b =>
(a => 'bingo!')
(b)
)
(c)
)
(2)Last updated