keep the Except effect at the start of the list
This commit is contained in:
parent
8e0d66cab8
commit
f4a45b6c52
2 changed files with 7 additions and 7 deletions
|
@ -146,11 +146,11 @@ private
|
||||||
liftFromParser : Eff FromParserIO a -> Eff CompileStop a
|
liftFromParser : Eff FromParserIO a -> Eff CompileStop a
|
||||||
liftFromParser act =
|
liftFromParser act =
|
||||||
runEff act $ with Union.(::)
|
runEff act $ with Union.(::)
|
||||||
[\g => send g,
|
[handleExcept (\err => throw $ FromParserError err),
|
||||||
handleExcept (\err => throw $ FromParserError err),
|
|
||||||
handleStateIORef !(asksAt STATE defs),
|
handleStateIORef !(asksAt STATE defs),
|
||||||
handleStateIORef !(asksAt STATE ns),
|
handleStateIORef !(asksAt STATE ns),
|
||||||
handleStateIORef !(asksAt STATE suf)]
|
handleStateIORef !(asksAt STATE suf),
|
||||||
|
\g => send g]
|
||||||
|
|
||||||
private
|
private
|
||||||
liftErase : Q.Definitions -> Eff Erase a -> Eff CompileStop a
|
liftErase : Q.Definitions -> Eff Erase a -> Eff CompileStop a
|
||||||
|
|
|
@ -41,7 +41,7 @@ FromParserPure = [Except Error, DefsState, StateL NS Mods, NameGen]
|
||||||
|
|
||||||
public export
|
public export
|
||||||
FromParserIO : List (Type -> Type)
|
FromParserIO : List (Type -> Type)
|
||||||
FromParserIO = LoadFile :: FromParserPure
|
FromParserIO = FromParserPure ++ [LoadFile]
|
||||||
|
|
||||||
|
|
||||||
export
|
export
|
||||||
|
@ -66,11 +66,11 @@ fromParserIO : (MonadRec io, HasIO io) =>
|
||||||
Eff FromParserIO a -> io (Either Error a)
|
Eff FromParserIO a -> io (Either Error a)
|
||||||
fromParserIO inc seen suf defs act =
|
fromParserIO inc seen suf defs act =
|
||||||
liftIO $ fromIOErr $ runEff act $ with Union.(::)
|
liftIO $ fromIOErr $ runEff act $ with Union.(::)
|
||||||
[handleLoadFileIOE LoadError WrapParseError seen inc,
|
[handleExcept (\e => ioLeft e),
|
||||||
handleExcept (\e => ioLeft e),
|
|
||||||
handleStateIORef defs,
|
handleStateIORef defs,
|
||||||
handleStateIORef !(newIORef [<]),
|
handleStateIORef !(newIORef [<]),
|
||||||
handleStateIORef suf]
|
handleStateIORef suf,
|
||||||
|
handleLoadFileIOE LoadError WrapParseError seen inc]
|
||||||
|
|
||||||
|
|
||||||
parameters {auto _ : Functor m} (b : Var n -> m a) (f : PName -> m a)
|
parameters {auto _ : Functor m} (b : Var n -> m a) (f : PName -> m a)
|
||||||
|
|
Loading…
Reference in a new issue