5. StdGUI

This module provides declaration of abstract GUI monad.

data GUI ps x
type GUIFun  ls ps = (ls,ps) -> GUI ps (ls,ps)
type GUI2Fun ps = ps -> GUI ps ps

where ps is a type of local process state. GUIFun and GUI2Fun are additional types which describe state transforming GUI actions, first with both local and process state and second only with process state. There are instances of Monad, IOMonad and Functor type classes.

instance Monad (GUI ps)
instance IOMonad (GUI ps)
instance Functor (GUI ps)

Each object event handler must be GUI monad action, usually of GUIFun or GUI2Fun type.