  The recently discovered monad, Tx = Selection (x -> r) -> r, provides an
elegant way to finnd optimal strategies in sequential games. During this
thesis, a library was developed which provides a set of useful functions using
the selection monad to compute optimal games and AIs for sequential games. In
order to explore the selection monads ability to support these AI
implementations, three example case studies were developed using Haskell: The
two-player game Connect Four, a Sudoku solver and a simplified version of
Chess. These case studies show how to elegantly implement a game AI.
Furthermore, a performance analysis of these case studies was done, identifying
the major points where performance can be increased.
