Skip to main content

I was watching the lecture by Jim Weirich, titled 'Adventures in Functional Programming' ('http://vimeo.com/45140590Adventures in Functional Programming)'. In this lecture, he introduces the concept of Y-combinators, which essentially finds the fixed point for higher order functions. 

One of the motivations, as he mentions it, is to be able to express recursive functions using lambda calculus so that the theory by Church (anything that is effectively computable can be computed using lambda calculus) stays. 

The problem is that a function cannot call itself simply so, because lambda calculus does not allow named functions, i.e.,

n(x, y) = x + y$$n(x, y) = x + y$$

cannot bear the name 'n''$n$', it must be defined anonymously:

(x, y) -> x + y$$(x, y) \rightarrow x + y $$

Why is it important for lambda calculus to have functions that are not named? What principle is violated if there are named functions? Or is it that I just misunderstood jim's video?

I was watching the lecture by Jim Weirich, titled 'Adventures in Functional Programming' (http://vimeo.com/45140590). In this lecture, he introduces the concept of Y-combinators, which essentially finds the fixed point for higher order functions. One of the motivations, as he mentions it, is to be able to express recursive functions using lambda calculus so that the theory by Church (anything that is effectively computable can be computed using lambda calculus) stays. The problem is that a function cannot call itself simply so, because lambda calculus does not allow named functions, i.e.,

n(x, y) = x + y

cannot bear the name 'n', it must be defined anonymously:

(x, y) -> x + y

Why is it important for lambda calculus to have functions that are not named? What principle is violated if there are named functions? Or is it that I just misunderstood jim's video?

I was watching the lecture by Jim Weirich, titled 'Adventures in Functional Programming'. In this lecture, he introduces the concept of Y-combinators, which essentially finds the fixed point for higher order functions. 

One of the motivations, as he mentions it, is to be able to express recursive functions using lambda calculus so that the theory by Church (anything that is effectively computable can be computed using lambda calculus) stays. 

The problem is that a function cannot call itself simply so, because lambda calculus does not allow named functions, i.e.,

$$n(x, y) = x + y$$

cannot bear the name '$n$', it must be defined anonymously:

$$(x, y) \rightarrow x + y $$

Why is it important for lambda calculus to have functions that are not named? What principle is violated if there are named functions? Or is it that I just misunderstood jim's video?

added 1 characters in body
Source Link

I was watching the lecture by Jim Weirich, titled 'Adventures in Functional Programming' (http://vimeo.com/45140590). In this lecture, he introduces the concept of Y-combinators, which essentially findfinds the fixed point for higher order functions. One of the motivations, as he mentions it, is to be able to express recursive functions using lambda calculus so that the theory by Church (anything that is effectively computable can be computed using lambda calculus) stays. The problem is that a function cannot call itself simply so, because lambda calculus does not allow named functions, i.e.,

n(x, y) = x + y

cannot bear the name 'n', it must be defined anonymously:

(x, y) -> x + y

Why is it important for lambda calculus to have functions that are not named? What principle is violated if there are named functions? Or is it that I just misunderstood jim's video?

I was watching the lecture by Jim Weirich, titled 'Adventures in Functional Programming' (http://vimeo.com/45140590). In this lecture, he introduces the concept of Y-combinators, which essentially find the fixed point for higher order functions. One of the motivations, as he mentions it, is to be able to express recursive functions using lambda calculus so that the theory by Church (anything that is effectively computable can be computed using lambda calculus) stays. The problem is that a function cannot call itself simply so, because lambda calculus does not allow named functions, i.e.,

n(x, y) = x + y

cannot bear the name 'n', it must be defined anonymously:

(x, y) -> x + y

Why is it important for lambda calculus to have functions that are not named? What principle is violated if there are named functions? Or is it that I just misunderstood jim's video?

I was watching the lecture by Jim Weirich, titled 'Adventures in Functional Programming' (http://vimeo.com/45140590). In this lecture, he introduces the concept of Y-combinators, which essentially finds the fixed point for higher order functions. One of the motivations, as he mentions it, is to be able to express recursive functions using lambda calculus so that the theory by Church (anything that is effectively computable can be computed using lambda calculus) stays. The problem is that a function cannot call itself simply so, because lambda calculus does not allow named functions, i.e.,

n(x, y) = x + y

cannot bear the name 'n', it must be defined anonymously:

(x, y) -> x + y

Why is it important for lambda calculus to have functions that are not named? What principle is violated if there are named functions? Or is it that I just misunderstood jim's video?

Tweeted twitter.com/#!/StackCompSci/status/443380609298468866
Source Link

Why is it important for functions to be anonymous in lambda calculus?

I was watching the lecture by Jim Weirich, titled 'Adventures in Functional Programming' (http://vimeo.com/45140590). In this lecture, he introduces the concept of Y-combinators, which essentially find the fixed point for higher order functions. One of the motivations, as he mentions it, is to be able to express recursive functions using lambda calculus so that the theory by Church (anything that is effectively computable can be computed using lambda calculus) stays. The problem is that a function cannot call itself simply so, because lambda calculus does not allow named functions, i.e.,

n(x, y) = x + y

cannot bear the name 'n', it must be defined anonymously:

(x, y) -> x + y

Why is it important for lambda calculus to have functions that are not named? What principle is violated if there are named functions? Or is it that I just misunderstood jim's video?