Code

Back in the 1960’s I had a summer research job as an undergraduate at the University of Idaho assisting a member of the physics department with some numerical computations for color sites in crystals. The goal, as I remember it, was to determine their energy spectrum. To do this I had to learn some quantum mechanics, some numerical analysis, and some programming. In those days the latter meant Fortran, writing out the program by hand, punching it into a card deck, submitting the deck to a reader attached to an IBM 1620 computer, and then waiting for the output — usually a bug report — to appear on the line printer.

I learned a great deal that summer, flirted with physics for a while, and eventually went on to graduate school at Princeton in mathematics. A great cultural shock it was, but I survived and embarked on a long and satisfying career in mathematics. Every few years I would get involved in some small programming project, occasionally as part of work, but usually just for fun or to satisfy my curiosity. Often in a different language than the one I used last time. Basic, Pascal, Lisp, Scheme, Javascript …

After I retired, I discovered a language family totally unbeknownst to me: typed functional programming and the languages Elm and Haskell. Such linguistic and conceptual beauty! I felt like Rip Van Winkle, having awakened after a long sleep to find a changed world.

Below are links to some experiments with these languages (mostly Elm, some Haskell).

Scripta

Models

Physics Simulations

Just for fun