**Deepen your understanding of physics by learning to use the Haskell functional programming language.***Learn Physics with Functional Programming* is your key to unlocking the mysteries of theoretical physics by coding the underlying math in Haskell.

You’ll use Haskell’s type system to check that your code makes sense as you deepen your understanding of Newtonian mechanics and electromagnetic theory, including how to describe and calculate electric and magnetic fields.

As you work your way through the book’s numerous examples and exercises, you’ll learn how to:

- Encode vectors, derivatives, integrals, scalar fields, vector fields, and differential equations
- Express fundamental physical principles using the logic of Haskell’s type system to clarify Newton’s second law, Coulomb’s law, the Biot-Savart law, and the Maxwell equations
- Use higher-order functions to express numerical integration and approximation methods, such as the Euler method and the finite-difference time-domain (FDTD) method
- Create graphs, models, and animations of physical scenarios like colliding billiard balls, waves in a guitar string, and a proton in a magnetic field

Whether you’re using this book as a core textbook for a computational physics course or for self-study,

*Learn Physics with Functional Programming* will teach you how to use the power of functional programming to explore the beautiful ideas of theoretical physics.