{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreigr5do7bqqxmshttz3b52mqru2yeqh547bdh7gjxbgtabkuvlcaly",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mhbgs475vm62"
},
"path": "/t/sneak-peek-bolt-math/13766?page=2#post_22",
"publishedAt": "2026-03-16T22:58:48.000Z",
"site": "https://discourse.haskell.org",
"tags": [
"Tokaido"
],
"textContent": "No worries!\n\nI don’t think we are actually in any sort of disagreement, and so I feel the need to clear some air first - I 100% absolutely love the questions, and give your reaction I think may have come across as a fair bit sharper than I intended (I was going for short, I am almost always too long-winded) so apologies for that, and thank you for not returning the favor!\n\nmichaelpj:\n\n> I’m not claiming that all mathematical operators are either homogeneous or correspond to an action, that would be a big claim! That is, surely many operators have result types that correspond to neither of the input types.\n\nI actually want to thank you for being clear on this because I could not tell what you were asking (this is not meant as disrespect, this is on me if you’ll allow me to explain shortly). I restated my wedge argument because I was not sure.\n\nmichaelpj:\n\n> Perhaps I would question whether you need to an abstraction that covers both addition on integers and the wedge product on vectors? Is the goal just to have a great degree of notational flexibility, so you can use `+` for the wedge product if you really want?\n\nActually, precisely! Minor correction, wedge product generalizes multiplication, so `*`, but yes, because scalar multiplication actually is the special case of wedge products for scalars (because they are grade 0 vectors). Its not because _I really want to_ , its because _it really is_.\n\nSubtraction has the same thing going on, with affine vs vector spaces and `diff :: p -> p -> v`: Not an act, not homogenous - but definitely a specialization of subtraction, for which the symbol is appropriate. The notational flexibility (thank you for that phrase) allows me to express this, and it really helps minimize the number of symbolic operators, _which for me is extremely important_ …\n\n* * *\n\nI love it here because people are kind and welcome, so I feel safe talking about this, because the topic is _math communication_ which makes it oh so relevant:\n\nIf you read any of my older writing, you may have notice that my writing style is, well, let’s just say extremely odd I have been working hard on improving, though.\n\nTo sum up a lot rather quickly, I am actually partially dyslexic, and I struggle to read math notation; or more precisely, Tachyphemia is a neurological disorder known to most people as ‘dyslexia’, except it also can include other things:\n\n * Cluttering (word order, speaking and parsing speech)\n * Dysgraphia (writing and fine motor skills)\n * Dyspraxia (coordination and gross motor skills)\n * Dyslexia (reading and writing)\n * Dyscalculia (math and number sense)\n\n\n\nIt doesn’t affect my intelligence - obviously, I have fantastic linguistics reading and math skills or I wouldn’t be here, but I can be very slow to write or to speak if I have not planned to, and in a great twist of irony, despite being strong at reading prose and doing math in my head, I am more or less symbol-blind* and can’t really read math notation or musical notation or the greek alphabet (not without some sort of legend or reference) which is probably why I got into programming over mathematics, where function names are usually words, and a program speaks for itself.\n\nSince it does affect my ability to parse symbols, I do try to minimize their number and complexity, and to unify them and avoid making redundant operators wherever possible. This greatly colors my library design, but I do not think that it is a problem, since it not that I oppose the creation of convenience operators or anything, I just want to make sure my library works without them.\n\n* * *\n\n* I do better with shapes (form) than symbols (intent), and while there are pros and cons to that, I do get really annoyed by overdesigned UI because it quickly starts turning into visual noise for me and I can’t play a lot of games because of it - for instance, I love playing board games like Tokaido with friends, but I am constantly asking what things are because although it is beautiful, the heavily stylized artwork means I can’t tell what anything actually means.",
"title": "Sneak Peek: Bolt Math"
}