ContentsIndex
Core.IFun
Contents
Definition
Monad
Turning IFuns into functions
Description
Interactive functions that give feedback after evaluating each argument.
Synopsis
data IFun tag result
= Result result
| forall a . Boxable a => Fun tag (a -> IFun tag result)
data ITag = ITag {
tagText :: Doc
tagCond :: (Maybe Condition)
}
type IFunE e result = ErrorT e (IFun ITag) result
class IFunToFun a b where
unroll :: a -> b
Definition
data IFun tag result
Constructors
Result result
forall a . Boxable a => Fun tag (a -> IFun tag result)
show/hide Instances
Monad (IFun tag)
MonadI_ (IFun ITag)
(Show tag, Show result) => Show (IFun tag result)
(IFunToFun (IFun a b) c, Boxable x) => IFunToFun (IFun a b) (x -> c)
IFunToFun (IFun a b) b
data ITag
Constructors
ITag
tagText :: DocDescription of the expected parameter.
tagCond :: (Maybe Condition)Some rules may ask to solve a condition at a given step. If tagCond is not Nothing, the input of the rule should be the proof of the condition.
show/hide Instances
Monad
type IFunE e result = ErrorT e (IFun ITag) result
Turning IFuns into functions
class IFunToFun a b where
Methods
unroll :: a -> b
show/hide Instances
(IFunToFun (IFun a b) c, Boxable x) => IFunToFun (IFun a b) (x -> c)
IFunToFun (IFun a b) b
Produced by Haddock version 0.8