@@ -166,6 +166,20 @@ data Eff : (m : Type -> Type)
166 ((val : a) -> Eff m b (xs' val) xs'') -> Eff m b xs xs''
166 ((val : a) -> Eff m b (xs' val) xs'') -> Eff m b xs xs''
167(>>=) = ebind
167(>>=) = ebind
169+-- namespace SimpleBind
170+-- (>>=) : Eff m a xs (\v => xs) ->
171+-- ((val : a) -> Eff m b xs xs') -> Eff m b xs xs'
174+||| Run a subprogram which results in an effect state the same as the input.
175+staticEff : Eff m a xs (\v => xs) -> Eff m a xs (\v => xs)
178+||| Explicitly give the expected set of result effects for an effectful
180+toEff : .(xs' : List EFFECT) -> Eff m a xs (\v => xs') -> Eff m a xs (\v => xs')
169return : a -> Eff m a xs (\v => xs)
183return : a -> Eff m a xs (\v => xs)
170return x = value x
184return x = value x