Saturday, February 25, 2023 - 14:00
Thackeray 704
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.