Introduction to the λ-Calculus

(lawrencecpaulson.github.io)

46 points | by matt_d 9 months ago ago

19 comments

  • sevensor 9 months 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 9 months 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 9 months ago ago

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

    • charles-fox 9 months 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 9 months 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 9 months ago ago

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

      • nuancebydefault 9 months 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 9 months ago ago

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

      • keithalewis 9 months ago ago

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

    • hun3 9 months 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 9 months 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 9 months ago ago

          Haskell uses a single backslash \ in place of λ

    • mbivert 9 months 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.