![]() ![]() Extensive use of -reduction can lead to Pointfree programming. history of the lambda - calculus AD - A124383 CALCULUS OF VARIATIONS. Converting from the first to the second would constitute an eta reduction, and moving from the second to the first would be an eta abstraction (also known as eta expansion).The term eta conversion can refer to the process in either direction. It tells us how simplifications of abstractions work. This is nice because it means you can write checks and unit tests for lambda calculus for teaching purposes. Ba ( 2+ ) and Pb ( 2+ ) beta aluminas AD - A125691 17 p2854 N83-29090. (beta) Reduction: (beta) reduction is the central idea of the (lambda) calculus. ![]() ![]() You can also prove that if your expression is completely reduced under both beta- and eta-rules, then there is a single unique normal form for that expression (the way you prove this is by assuming the opposite, then constructing an input for which the two normal forms differ in behavior). All expressions can be simplified initially with call-by-name, and then you can use normal order evaluation to get a beta-reduced expression, even if you have a recursive function with the Y combinator in the mix. When I implemented a similar interpreter, this blog post was really helpful. It is intended as a pedagogical tool, and as an experiment in the programming of visual user interfaces using Standard ML and HTML. This looks really nice, especially if you can implement variable capture and Y-combinator effectively. This system implements and visualizes various reduction strategies for the pure untyped lambda calculus. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |