Safe HaskellSafe-Infered

AOP.Semantics.EL.MonadEL

Synopsis

Documentation

type Level = Int

class Monad m => MonadEL m where

A level-aware monad can perform level-shifting operations.

Methods

current :: m Level

up :: m a -> m a

down :: m a -> m a

lambda_at :: (a -> m b) -> Level -> a -> m b

Instances

(MonadEL m, Typeable1Monad (AOT m)) => MonadEL (AOT m)

Interaction with AOT

Monad m => MonadEL (ELT m)

ELT produces level-aware functions.