Monads and Martingales

Saturday, February 18, 2023 - 14:00

Thackeray 704

Speaker Information
Jonathan Holland

Abstract or Additional Information

This talk will first introduce monads, and explain how they are used to model computation in the Haskell programming language.  By parameterizing a monad by an abstract type, we can obtain a model for a stateful computation, where the abstract state is the type parameter.  Through the use of a binary predicate type "Before" on the abstract state types, we show how to encode the state at some present "time" (or space-time point) being available for computation at a later "time."  The concept of a martingale is also described in the monadic setting.  This formalism is applied to the foundations of relativity, probabilistic modeling in purely functional settings, and functional reactive programming.