Take a look at the (WIP) course notes from Etienne Vouga's physical simulation class (shared with permission). I recommend these very strongly to anyone interested in macro-scale physical simulation. Its relatively rigorous approach to algebraic object types should also appeal to haskellers.
Chapter 10 discusses practical efficient collision techniques.
--Will
Dear Cafe,
I am thinking about writing a small physics engine with collision detection and I wanted to go over my ideas with you to help me refine them.
...