Lightning Talks: Differentiable Snap!

View on Snap!Con

Presented By:


Abstract:

What happens if we combine the lambda calculus with… regular calculus? We
get a new superpower: the ability to take derivatives of Snap! programs.
And what could we do with that? The possibilities are endless: automatic
differentiation enables project that help teach physics, graphics,
statistics, and more. In this talk I will motivate Differentiable Snap!
with a small demo, and then suggest a possible (and elegant!)
implementation.

I'm the one giving this talk! Please feel free to use this thread to ask any follow-up questions. :slight_smile:

The little "demo" I showed you all today is available here: https://kach.github.io/turtlegrad/

Remixes welcome! :turtle:

In the demo, you showed editing the program output and the code updated to produce the given output. Have you thought about being able to edit the program and reason about it programmatically? I am curious if there would be scenarios in which you would like to differentiate with respect to specific inputs or perhaps explore optimization...

Hmm, I'm not quite sure I understand your question, but perhaps one example of what you're describing is given in this famous essay called "Up and Down the Ladder of Abstraction"? See here: http://worrydream.com/LadderOfAbstraction/