sindre-0.1: A programming language for simple GUIs




Definitions for the Sindre runtime environment.



data Sindre m a Source

The main monad in which a Sindre program executes. More specialised monads, such as Execution are used for specific purposes, but they all run on top of the Sindre monad.

execSindre :: MonadBackend m => SindreEnv m -> Sindre m a -> m ExitCodeSource

execSindre e m executes the action m in environment e, returning the exit code of m.

quitSindre :: MonadBackend m => ExitCode -> Sindre m ()Source

Immediately return from execSindre, returning the given exit code.

class (MonadBackend im, Monad (m im)) => MonadSindre im m whereSource

MonadSindre im m is the class of monads m that run on top of Sindre with backend im, and can thus access Sindre functionality.


sindre :: Sindre im a -> m im aSource

Lift a Sindre operation into this monad.

back :: im a -> m im aSource

Lift a backend operation into this monad.

redraw :: (MonadBackend im, Widget im s) => ObjectM s im ()Source

class (Monad m, Functor m, Applicative m, Mold (RootPosition m)) => MonadBackend m whereSource

A monad that can be used as the layer beneath Sindre.

Associated Types

type BackEvent m :: *Source

type RootPosition m :: *Source

class Object m s => Widget m s whereSource


MonadBackend m => Widget m Oriented 
Widget SindreX11M List 
Widget SindreX11M TextField 
Widget SindreX11M Blank 
Widget SindreX11M Label 
Widget SindreX11M Dial 

data DataSlot m Source


forall s . Widget m s => WidgetSlot s WidgetState 
forall s . Object m s => ObjectSlot s