Fun article on how J manages inverting functions: https://www.adamtornhill.com/articles/jlang/beyondfunctional.html (communicating the exotic ideas of niche PLs is a rare skill!)
Related Posts
Go has an elegant approach to defining example functions, which are shown in docs as `main()` with the output: https://go.dev/blog/examples
Exploring design ideas using AI as a learning assistant, for creative exploration: https://andymatuschak.org/hmwl/
I'm having fun writing a simple type checker, but I'm learning firsthand why syntax-directed checking doesn't work. It prevents inference.
My checker catches real bugs, but it can't handle cases like this:
[1, 2].map(fun(x) { x + 1; })
I think I need bidirectional checking.