Hacker News new | past | comments | ask | show | jobs | submit login
To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus (dkeenan.com)
57 points by flatline on March 3, 2010 | hide | past | favorite | 6 comments



Looks like an interesting paper. Its sort of weird though when you know someone that is mentioned in the paper (Louis Kauffman). Although I'm assuming its the same person. Professor Kauffman likes diagram based arguments so it seems like it would be the same person.


What's the point of writing algorithm as lambda calculus? Can you do some automatic optimization on algorithm when it is described as this "birds" or check it for consistency in a way that is not obvious when we describe as series of commands to be executed?


Many common compiler optimizations are subsumed by ordinary reduction rules for lambda calculus. See: [Shrinking reductions in SML. NET](http://research.microsoft.com/en-us/um/people/akenn/sml/Shri...).

That said, you can always transform an imperative program into lambda calculus (sequential imperative IL -> SSA -> Administrative Normal Form) and vice versa (arbitrary lambda calculus -> closure conversion -> Administrative Normal Form -> sequential imperative IL).


I know very little about the topic, but I believe that various transformations and simplifications in lambda calculus are relevant when it comes to compiling functional programs.


Not just functional programs. You can transform any old C program into specific subsets of lambda calculus (administrative normal form or continuation passing style) and do all your optimizations there.


Old, but gold.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: