Computer Calculus Reading Group
compcalc.github.io
compcalc.github.io
You might get the impression there's a unity because differential calculus has been generalized to functions of many things - calculus on metrices or tensors is analogous to calculus on functions of a real variable. But my impression is the term "calculus" overall, when use in something like sequent calculus or lambda calculus, is just a term for a calculation system. IE, Whether a system is called an "algebra", a "calculus" or something else is more historical accident than any thread unifying these things. But maybe there is such a thread and I just don't know about it.
Yes, this is the critical question. And I think the authors of this "reading group" answer that in this really smooth introduction to sequent calculus:
https://www.youtube.com/watch?v=xLRUofFSq5Y
Recommended watching!
The summary (explained in the video) is that these three areas: differential programming, probabilistic programming, and logic programming are all just programming language semantics that are more specifically "languages for calculating" and thus "calculi" languages.
These three areas are also all linked to historical and current AI research. And I think AI research is the primary motivation (another underlying thread) for this collection.
These three areas are also all linked to historical and current AI research.
Indeed, they all seem to have some fascinating connections to symbolic and connectionist learning. I think the symbolists were originally on the right track, but they were too preoccupied with expert systems when they should have been working at a much lower level of representation. One way to view the current wave of deep learning is as a form of symbolic differentiation with a special order of evaluation corresponding to reverse-mode AD.[1]: https://www.youtube.com/channel/UCDe6N9R7U-RYWA57wzJQ2SQ
More generally, the same rules from differential calculus have reappeared in strange and marvelous places throughout computer science, including formal language theory [3], parsing [4], type theory [5] and automata theory [6].
We do not attempt to cover all these topics, research is just beginning to understand how they are related. The general theme seems to be, how do you propagate local changes through a computation? Can you compute changes incrementally without restarting from scratch?
[1]: https://arxiv.org/pdf/1606.01642.pdf
[2]: https://lipn.univ-paris13.fr/~kerjean/papers/EDP18.pdf
[3]: https://en.wikipedia.org/wiki/Brzozowski_derivative
[4]: https://dl.acm.org/doi/10.1145/2034773.2034801
[5]: http://strictlypositive.org/diff.pdf
[6]: https://en.wikipedia.org/wiki/Boolean_differential_calculus
Also, many academic associations, like ACM, have Special Interest Groups (SIG). Some SIGs have journal clubs but you might need to become a member or ask someone to add you to their Slack, Discord, etc.
Are there any specific topics that interest you?