Skip to content

Instantly share code, notes, and snippets.

@isomorphisms
Last active March 28, 2017 16:38
Show Gist options
  • Save isomorphisms/13d1798803f5a500c848 to your computer and use it in GitHub Desktop.
Save isomorphisms/13d1798803f5a500c848 to your computer and use it in GitHub Desktop.
calculus for programming language theorist

Here's a silly-but-perhaps-provocative way to talk about calculus.

The only atom to start with is +1+1+1+1+1+1+1+… ↣ 5+5+5+5+5+5+5+…. Some people call this "to quintuple" but I'll just call it ƒ. Repeated addition of the number 5. I'm going to build up large classes of functions from this, using "meta-moves" i.e. just operating on the function.

The first meta-move I'll allow myself is to stick the +5+5+5+5… anywhere I want on the number line. Tangent picking. Also known as b in y=mx+b.

Comovement. I'll also allow myself to jiggle the 5's. Sometimes I'll be talking about +5+5+6+5+5+... and sometimes I'll Shift operator before Co-moving . If I did that a few times I might have +5+5+7+6+5+3+5+5+5+….

Recursion. multiple derivatives. ƒ−−1 = +5+4+3+2+1+0−1−2−…. Smooth functions are the ones that I can write some complicated difference pattern "at the beginning" with a (potentially infinitely long) string of ƒ−−1+++½++++0++++++0+++++++14….


(Remark about digits. The ++ digit, +++ digit, ++++ digit, +++++ digit can be encoded as a polynomial….)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment