Introduction to the λ-Calculus

(lawrencecpaulson.github.io)

46 points | by matt_d a year ago ago

19 comments

  • sevensor a year ago ago

    > (according to one rumour, because Dana Scott was fond of curry)

    I always assumed it was related to Haskell Curry, the logician.

  • iso8859-1 a year ago ago

    > Extensionality fails in most dependent type theories

    Is this a reason to use Isabelle?

    I remember Bob Harper being interested in dependent typing. What is his take on extensionality?

  • nuancebydefault a year ago ago

    What is the benefitsof the lambda notation over a more intuitive arrow notation like x->x+1?

    • charles-fox a year ago ago

      I heard it evolved from Bertrand Russell, who used a notation such as \hat{x}.(x+1) to mean similar in Principia Mathematica. Church and maybe others in the logic community originally used the same notation but Church's publisher, not having latex, was unable to print it. So they wanted to move the hat in front of the letter, such as ^x.(x+1). The hat symbol either wasn't available or the instruction got mangled during production into the similar-looking lambda.

      • nuancebydefault a year ago ago

        Lovely explanation! Everytime I encounter the lambda I will think of the relation to the hat symbol. The latter we used a lot at school.

    • arethuza a year ago ago

      What about expressing something a bit more complex like: λf. (λx. f (x x))(λx. f (x x))

      • nuancebydefault a year ago ago

        It is so complex that i don't even know how to start reading it (not that i am a reference of mathematical complexity). Does the x each time mean something else?

        • credit_guy a year ago ago

          It’s a joke. That particular lambda expression is the Y combinator.

      • keithalewis a year ago ago

        f ↦ (x ↦ f (x x))(x ↦ f (x x))

    • hun3 a year ago ago

      Not much, but you immediately know it's a function (abstraction).

      Besides, the standard notation for the "arrow function" is maplet (x ↦ x + 1) in mathematics. I assume λ notation sees frequent uses in logic and computation theory.

      • DrDeadCrash a year ago ago

        The characters in OP's arrow function have the benefit of being available on a standard keyboard layout. This has proven to be an important syntactic feature, imo.

        • quibono a year ago ago

          Haskell uses a single backslash \ in place of λ

    • mbivert a year ago ago

      One benefit could be to emphasize the distinction between regular mathematical functions (e.g. x ↦ x+1) and λ-terms (e.g. λx. x+1): strictly speaking, those are different kind of objects.