3 ms·
Regarding SICM, Sussman et al. point out that the traditional notation for differential calculus contains "type errors". In particular they point this out regar
by Myrmornis 7y ago
Regarding SICM, Sussman et al. point out that the traditional notation for differential calculus contains "type errors". In particular they point this out regarding the Euler-Lagrange equations. And they then make the point that their "functional" notation (based on Spivak Calculus on Manifolds) is free of these type errors.
Obviously Sussman has a special relationship to Scheme, but I am curious whether it would have been beneficial for the code implementation (scmutils) to have used a statically typed language.
Do you (formalsystem or anyone else) know whether the Julia implementation makes much use of typing? I don't know Julia but from a few seconds googling it sounds like it's also not statically typed. I do wonder whether something like Haskell wouldn't make most sense for reimplementing scmutils -- you'd be able to make a lot of the pedagogical issues clear at compile time, in the type language alone (disregarding the actual implementation of the functions in the term language).
- formalsystem 7y agoI don't think the Julia implementation makes much use of typing. A related Haskell codebase for Hamiltonian (not Lagrangian) mechanics that I found really helpful to scan was https://blog.jle.im/entry/hamiltonian-dynamics-in-haskell.html https://blog.jle.im/entry/hamiltonian-dynamics-in-haskell.ht... -
- Myrmornis 7y agoAwesome, thanks for that. Haskell really seems like the language for this.
- Myrmornis 7y agoOr maybe porting it to typed racket could be a worthwhile project.
- formalsystem 7y agoIf you wanna start it, I'd be happy to contribute!