User loginNavigation 
How to Evaluate Lambda ExpressionsThis is a bit of beginners questions, but I feel like I'm missing something when it comes to evaluating lambda expressions. I've been reading chapter 5 of this book about lambda calculus. I understand how to evaluate expressions/statements in procedural languages. For example given a statement and parse tree such as: a=b*(5+C) stmt /  \ a = expr /  \ b * expr /  \ 5 + c This statement is evaluated by simply doing a depth first walk of the tree. But for lambda expression it doesn't seem to be such a simple procedure. Given the following grammar for a lambda expression: expr := var  const  ( expr expr )  ( Î» var . expr ) How do you evaluate the following expression and parse tree? (Î».x(Î».y(add(x y))5)3) expr / / \ \ /   \ ( expr expr ) /  \ \ /  \ \ Î». var expr cont / / / \ \ \ / /   \ \ x ( expr expr ) 3 / / \ \ / /  \ Î». var expr const / /  \ \ / /  \ \ y (expr expr ) 5 /  \ /  \ const (expr expr}    add var var   x y Thanks in advance and please excuse the poor ascii art! If it's not intelligible, let me know. By MTaylor at 20070304 14:16  LtU Forum  previous forum topic  next forum topic  other blogs  8705 reads

Browse archivesActive forum topics 
Recent comments
2 hours 33 min ago
2 hours 56 min ago
3 hours 15 min ago
5 hours 43 min ago
16 hours 5 min ago
18 hours 2 min ago
1 day 1 hour ago
1 day 1 hour ago
1 day 2 hours ago
1 day 2 hours ago