3 ms·
I think the important idea from math for programming, and pretty much everything else, is that of a function that operates on functions. You can build on that i
by practal 3y ago
I think the important idea from math for programming, and pretty much everything else, is that of a function that operates on functions. You can build on that important idea in different general ways, for example category theory, or type theory.
There is a much simpler way of making this idea the foundation of pretty much everything though, see my report "Logic is Algebra" [1]. I've simplified matters further since then (for example, instead of the somewhat unfamiliar notation
(lambda x. D P[x])
you write now
lambda(D, x. P[x])
(maybe I should even go as far as just writing "lambda(D, x => P[x])", as that triggers probably even more neurons, especially in programmers).
lambda is here nothing special, just another operator you can introduce yourself, much like "forall", "exists", "sum", etc.
So category theory is, in my opinion, a pretty complicated framework to think in, pushing a certain view of things, and I think there is a more general, yet simpler framework. And I think that will be of use to everyone doing anything vaguely math related, and that certainly includes programmers.
[1] https://arxiv.org/abs/2304.00358 https://arxiv.org/abs/2304.00358
(The above report also includes lots of theory, and looks therefore more complicated than it really is. I am working on something new that leaves out the theory, uses more familiar syntax, and emphasises applications)