This document discusses teaching Haskell for juggling notation and simulation. It covers siteswap notation for encoding juggling patterns, space-time diagrams for visualizing ball trajectories, and state diagrams for modeling valid throw sequences. Haskell is proposed for its type safety, isolation of side effects, and succinct programming features like pattern matching and higher-order functions. Code examples are presented for generating valid siteswaps and animating simulations using OpenGL. Finally, representing siteswaps at the type level in Haskell is proposed to leverage the type system for validity checking.