Hacker News new | comments | show | ask | jobs | submit login
To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus (1996) (dkeenan.com)
42 points by louthy on May 2, 2014 | hide | past | web | favorite | 7 comments



My alternative graphical notation:

http://www.cwi.nl/~tromp/cl/diagrams.html

(also linked to at the bottom of the article)

Example: predecessor function on Church numerals:

  ┬──────────
  ┼─────┬────
  ┼─────┼─┬──
  │ ──┬─┼ ┼ ┬
  │ ┬─┼─┼ │ │
  │ │ ├─┘ │ │
  │ ├─┘   │ │
  └─┤     │ │
    └─────┤ │
          └─┘


Given this and the other relevant article on the front page about CSS I'm now going to spend the rest of the day wondering if you can implement Starling and Kestrel in CSS rather than getting work done.... :-)

[I know the answer is almost certainly "you can't" - but I am intrigued as to how close you can get]


I'm going to repeat my comment from last time this came up-- this is a really neat way of getting around the use of dummy variables, but why does he only talk about beta reduction and never mention eta reduction? Describing eta reduction in this notation is still easy.


I did like this. There is a certain elegance[1] to diagram based descriptions of mathematical/physical concepts.

Another that is maybe more similar in that it removes a lot of dummy variables(indices in this case) is the Penrose graphical notation[2] for tensors. I have actually never calculated anything using these diagrams so I don't know how practical they are.

[1]:http://en.wikipedia.org/wiki/Feynman_diagram [2]:http://en.wikipedia.org/wiki/Penrose_graphical_notation


Reminds me of the Bret Victor's "Alligator Eggs!": http://worrydream.com/AlligatorEggs/


The notation is interesting, but the "bird song "metaphor" makes me suspect that this paper inspired the misguided era of monad metaphors that followed.

Birds, burritos, spacesuits ...


I read this a while ago, and have been telling people that Haskell's `id` stands for `idiot` since then...




Applications are open for YC Winter 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: