bitwize 14 hours ago

I always thought this was up there with "monads are like burritos" in terms of how it makes things more complicated instead of simplifying them. Maybe that's just my old ass, and kids would appreciate it more. When I was a kid one of my teachers referred to the > and < symbols as "alligator mouths" and said "Just remember the alligator mouth eats the bigger number." Helped me keep those symbols straight for years.

  • laszlokorte 8 hours ago

    Thats exactly how my teacher in second grade when I was 8 years old (in Germany) taught us about greater than ans less than.

  • gs17 12 hours ago

    Yeah, I "get" it, but I can only think that as a kid I would have been too upset about all the senseless alligator deaths to internalize the patterns. I guess if they're not old enough to know algebra, (λx.x λy.y)(λz.z) might be more scary than a reptilian predator.

    • bitwize 4 hours ago

      The thing that made me grok lambda calculus was someone[0] in a tutorial online treated as a simple substitution game. They said: Imagine "λx.chocolate covered x" is a lambda expression, and if you apply that to "peanuts" you get "chocolate covered peanuts" and if you apply it to "ants" you get "chocolate covered ants". I knew at that time that LAMBDA was an operator for creating "anonymous functions" in Lisp you could pass to MAP or APPLY, but the "chocolate covered" thing was what made the penny drop that in pure LC, a lambda is just a template with a variable, and application (beta reduction) is substituting values for variables in the templates.

      [0] It was probably Jim Larson: https://www.cs.unc.edu/~stotts/COMP204/Lambda/scheme.html