Skip to content
0:00 / 0:00

#clojure#sicm#symboliccomputation

Physics in Clojure - Colin Smith

ClojureTV

111K subscribers • 136 videos on Hallway

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • Presented by Colin Smith, software engineer at Google

Advanced. Deep dive for people who know the field.

12K views9 years ago2 recommendations

Programming languagesSoftware designFunctional programmingLisp and Clojure

Colin Smith introduces the Structure and Interpretation of Classical Mechanics and demonstrates how to represent Lagrangian mechanics using Clojure.

If you admire SICP, you might have been intrigued by “The Structure and Interpretation of Classical Mechanics,” by Sussman and Wisdom. This talk will serve as an introduction to the ideas and results in the book: how higher-order functions and a symbolic algebra system can represent Lagrangian mechanics, and more.. I’ll share a few of the things I learned bringing this system to Clojure, and show a few new tricks that can be done. Colin Smith has a BS from Texas A&M back when they still taught Fortran. A copy of SICP fell into my hands years later and changed my life! Currently working at Google.

Why it's here

2 people recommend this

What people say. Recommended as a great demonstration of using Clojure and symbolic computation for complex mathematical and physics modeling.

ja-85on Hacker News • Recommends

On “Structure and Interpretation of Classical Mechanics (2015)”

Thanks, this is a nice port! I worked through SICM using sicmutils as a backup. The MIT Scheme version sometimes "locked up" on my solutions to exercises and sicmutils did not (the Foucault pendulum problem comes to mind). This video is an introduction to SICM and sicmutils: link to this video

hcarvalhoalveson Hacker News • Recommends

On “Symbolics.jl: A Modern Computer Algebra System for a Modern Language”

Computer Algebra is criminally underused - it has the potential to make math-heavy critical-path code a lot more clear, testable, observable and bug-free by design. I feel I need to mention "Structure and Interpretation of Classical Mechanics" by Wisdom and Sussman, and the accompanying "scmutils" library, which first implemented in Scheme many of the same features, although this Julia library seems to be more complete. There's also a great one-to-one port to Clojure by Colin Smith 2 in case you want to use it on a more production-friendly environment. The Strange Loop talk 3 is a good showcase of the power and simplicity of these kind of systems. 1 link 2 link 3 link to this video

erichoceanon Hacker News • Mentions

On “Why Is Jepsen Written in Clojure?”

> static typing helps everywhere I think "Structure and Interpretation of Classical Mechanics" is a good example of the kind of software a dynamically-typed Lisp is superior at, beyond the usual suspects like SQL, R, Python, etc. Here's an example of SICM in Clojure: link And a talk about it's implementation here: link to this video