It's interesting how some of these diagrams are almost equivalent in the context of encoding computation in interaction nets using symmetric interaction combinators [1].
From the perspective of the lambda calculus for example, the duplication of the addition node in "When Adding met Copying" [2] mirrors exactly the iterative duplication of lambda terms - ie. something like (λx.x x) M!
When I read the first meaty chapter about graphs and commutativity I initially thought he just spends too long explaining simple concepts.
But then ai realized I would always forget the names for all the mathy c' words - commutativity commutativity, qssociativity... and for the first time I could actually remember commutativity and what it means, just because he tied it into a graphical representation (which actually made me laugh out loud because, initially, I thought it was a joke). So the concept of "x + y = y + x" always made sense to me but never really stuck like the graphical representation, which also made me remember its name for the first time.
Generalized Transformers from Applicative Functors
>Transformers are a machine-learning model at the foundation of many state-of-the-art systems in modern AI, originally proposed in [arXiv:1706.03762]. In this post, we are going to build a generalization of Transformer models that can operate on (almost) arbitrary structures such as functions, graphs, probability distributions, not just matrices and vectors.
>[...]
>This work is part of a series of similar ideas exploring machine learning through abstract diagrammatical means.
This is nice, my main criticism would be that it uses the language "easy" and "simple" regularly which is a classic mistake in any instructive text (including docs etc).
If the reader was feeling a bit dumb and/or embarrassed that they didn't yet get the concept being explained then this will only make them feel worse and give up.
Language like that is often used to make things feel approachable and worry-free, but can have the opposite effect.
And never ever, ever write "obvious" in a doc explaining something, because if obviousness was at play they wouldn't be reading your doc.
I think about wording like that, like the extraneously explicit meta-content that dumbs down so many story plots. A character explicitly says "That makes me angry". When a better written story would make the anger implicitly obvious.
Stories should show not tell.
Make a point, make it clear make it concise, and it will be simple for most readers. Don't talk about making a point, or say a point is clear.
That is projecting attributes or experiences onto readers. But even a very well written point may not appear simple for some readers. Assume (optimistically!) that there will always be some unusually under-prepared but motivated reader. Hooray if you get them! They can handle a challenge every so often.
"Simple" communication is a high priority target, but rarely completely achievable for the total self-selected, beyond intended, audience.
Years ago when I was reading this (just a couple of chapters, not all of it), it opened my eyes to the power of diagrammatic representation in formal reasoning unlike anything before. I never did anything useful with string diagrams, but it was so fun to see what is possible with this system!
I had a similar revelation when watching 3Blue1Brown's Calculus series. Had they included those kinds of visual representations in school when I was first learning about Calculus, my understanding (and interest) would have been greatly expanded.
Very impressive how some people can create visual representations that enhance understanding.
It's interesting how some of these diagrams are almost equivalent in the context of encoding computation in interaction nets using symmetric interaction combinators [1].
From the perspective of the lambda calculus for example, the duplication of the addition node in "When Adding met Copying" [2] mirrors exactly the iterative duplication of lambda terms - ie. something like (λx.x x) M!
[1]: https://ezb.io/thoughts/interaction_nets/lambda_calculus/202...
[2]: https://graphicallinearalgebra.net/2015/05/12/when-adding-me...
When I read the first meaty chapter about graphs and commutativity I initially thought he just spends too long explaining simple concepts.
But then ai realized I would always forget the names for all the mathy c' words - commutativity commutativity, qssociativity... and for the first time I could actually remember commutativity and what it means, just because he tied it into a graphical representation (which actually made me laugh out loud because, initially, I thought it was a joke). So the concept of "x + y = y + x" always made sense to me but never really stuck like the graphical representation, which also made me remember its name for the first time.
I am sold.
Which chapter is that? It's not in the ToC
3!
Chapter 6, got it
Generalized Transformers from Applicative Functors
>Transformers are a machine-learning model at the foundation of many state-of-the-art systems in modern AI, originally proposed in [arXiv:1706.03762]. In this post, we are going to build a generalization of Transformer models that can operate on (almost) arbitrary structures such as functions, graphs, probability distributions, not just matrices and vectors.
>[...]
>This work is part of a series of similar ideas exploring machine learning through abstract diagrammatical means.
https://cybercat.institute/2025/02/12/transformers-applicati...
This is nice, my main criticism would be that it uses the language "easy" and "simple" regularly which is a classic mistake in any instructive text (including docs etc).
If the reader was feeling a bit dumb and/or embarrassed that they didn't yet get the concept being explained then this will only make them feel worse and give up.
Language like that is often used to make things feel approachable and worry-free, but can have the opposite effect.
And never ever, ever write "obvious" in a doc explaining something, because if obviousness was at play they wouldn't be reading your doc.
Excellent point.
I think about wording like that, like the extraneously explicit meta-content that dumbs down so many story plots. A character explicitly says "That makes me angry". When a better written story would make the anger implicitly obvious.
Stories should show not tell.
Make a point, make it clear make it concise, and it will be simple for most readers. Don't talk about making a point, or say a point is clear.
That is projecting attributes or experiences onto readers. But even a very well written point may not appear simple for some readers. Assume (optimistically!) that there will always be some unusually under-prepared but motivated reader. Hooray if you get them! They can handle a challenge every so often.
"Simple" communication is a high priority target, but rarely completely achievable for the total self-selected, beyond intended, audience.
The good ol' "this proof is trivial so we'll skip it" move.
He should have really used the good ol' QED instead, lol
I really enjoyed that when it was coming out, and used to follow it with some students. It's a shame it seems to have been abandoned.
Who wrote that? Do you know?
pawel ... ?
Pawel Sobocinski, in collaboration with Filippo Bonchi and Fabio Zanasi
https://graphicallinearalgebra.net/about/
I was never able to get my head around it, but this reminds me somewhat of the zx-calculus:
https://en.wikipedia.org/wiki/ZX-calculus
> If the internet has taught us anything, it’s that humans + anonymity = unpleasantness.
Aka one of my favorite axioms: https://www.penny-arcade.com/comic/2004/03/19/green-blackboa...
Years ago when I was reading this (just a couple of chapters, not all of it), it opened my eyes to the power of diagrammatic representation in formal reasoning unlike anything before. I never did anything useful with string diagrams, but it was so fun to see what is possible with this system!
I had a similar revelation when watching 3Blue1Brown's Calculus series. Had they included those kinds of visual representations in school when I was first learning about Calculus, my understanding (and interest) would have been greatly expanded.
Very impressive how some people can create visual representations that enhance understanding.
Reminds me of the work from Bob Coecke at the University of Oxford. He came up with a pictorial language for quantum processes.
Immersive Linear Algebra: https://immersivemath.com/ila/index.html HN: https://news.ycombinator.com/item?id=19264048
This looks pretty similar to interaction combinators:
1. https://en.wikipedia.org/wiki/Interaction_nets#Interaction_c...
2. https://github.com/HigherOrderCO/Bend
It reads as if Chuck Lorre (The Big Bang Theory) wrote it. Especially chapter two. I love the humor!
Appreciate the Claude Makelele praise
But nowadays we are calling him the 6. And everybody praises a good 6