logoalt Hacker News

Lambda Calculus – Animated Beta Reduction of Lambda Diagrams

135 pointsby perryprogtoday at 5:17 AM8 commentsview on HN

Comments

killerstormtoday at 12:47 PM

There's a model of computation called 'interaction nets' / 'interaction calculus', which reduces in a more physically-meaningful, local, topologically-smooth way.

I.e. you can see from these animations that LC reductions have some "jumping" parts. And that does reflect LC nature, as a reduction 'updates' many places at once.

IN basically fixes this problem. And this locality can enable parallelism. And there's an easy way to translate LC to IN, as far as I understand.

I'm a noob, but I feel like INs are severely under-rated. I dunno if there's any good interaction net animations. I know only one person who's doing some serious R&D with interaction nets - that's Victor Taelin.

show 2 replies
dlosstoday at 4:05 PM

Some more example programs in Lambda Calculus here, including a compliant brainf#*k interpreter: https://justine.lol/lambda/

tromptoday at 10:24 AM

You can enter (λn.n(λc.λa.λb.cb(λf.λx.f(afx)))Fn0)7 to compute the function Col' from [1] to 7, resulting in (3*7+1)/2 = 11. Unfortunately, this visualization is much less insightful than showing the 7 successive succ&swap operations:

     7  0
     0  8
     8  1
     1  9
     9  2
     2 10
    10  3
     3 11
[1] https://news.ycombinator.com/item?id=46022965
__grobtoday at 9:38 AM

This is sick, loved the 2swap video on this. Happy to see more content visualizing lambda calculus and Tromp lambda diagrams.

ggmtoday at 10:06 AM

The number of reduction steps in division.

Vosporostoday at 10:14 AM

Cheers, I love it!

discovermspstoday at 10:31 AM

[dead]