functional programming - Reduction in Lambda Calculus -
i have been studying lambda calculation , have many doubts reduction , substitution . alpha , beta reduction are? , when , why used ?.
it great if tell resources on reduction , substitution in lambda caculus.
beta reduction primary application rule used computation within lambda calculus. applied through substitution shown:
if had lambda term: (\x.x) , value right of it: y
then substitute bound variables right of (.) in lambda term. bound variables variables match variable left of (.), in case x.
the reduction of form: (\x.x)y //y gets bound occurences of x right of period y
where y bound occurrences of x in lambda expression. identity function.
alpha "reductions" called alpha equivalences or alpha rewrite rules. state can change name of lambda term , bound variables without changing meaning of expression.
for example using identity function above written lambda term (\j.j). wouldn't change outcome of our application shown:
(\j.j)y //y gets bound occurrences of j right of period y
as learning resources: wikipedia page pretty detailed, notation heavy , require few rereads.
if you're looking better intuition how lambda calculus works, computer science departments have slides laying around.
you might find these helpful: http://www.classes.cs.uchicago.edu/archive/2002/winter/cs33600/slides/lesson2.pdf https://www.utdallas.edu/~gupta/courses/apl/lambda.pdf
Comments
Post a Comment