Learn Physics with Functional Programming by Scott N. Walck