some of this EffExtra stuff doesn't work
This commit is contained in:
parent
83ab871d61
commit
ea74c148b7
2 changed files with 5 additions and 25 deletions
|
@ -69,17 +69,6 @@ subsetTail : Length xs => (0 x : a) -> Subset xs (x :: xs)
|
|||
subsetTail _ = subsetWith S
|
||||
|
||||
|
||||
export
|
||||
catchMaybeAt : (0 lbl : tag) -> (Has (ExceptL lbl e) fs, Length fs) =>
|
||||
(e -> Eff fs a) -> Eff fs a -> Eff fs a
|
||||
catchMaybeAt lbl hnd act =
|
||||
catchAt lbl hnd $ lift @{subsetTail $ ExceptL lbl e} act
|
||||
|
||||
export %inline
|
||||
catchMaybe : (Has (Except e) fs, Length fs) =>
|
||||
(e -> Eff fs a) -> Eff fs a -> Eff fs a
|
||||
catchMaybe = catchMaybeAt ()
|
||||
|
||||
|
||||
export
|
||||
rethrowAtWith : (0 lbl : tag) -> Has (ExceptL lbl e') fs =>
|
||||
|
@ -91,22 +80,13 @@ rethrowWith : Has (Except e') fs => (e -> e') -> Either e a -> Eff fs a
|
|||
rethrowWith = rethrowAtWith ()
|
||||
|
||||
export
|
||||
wrapErr' : Length fs => (e -> e') ->
|
||||
wrapErr : Length fs => (e -> e') ->
|
||||
Eff (ExceptL lbl e :: fs) a ->
|
||||
Eff (ExceptL lbl e' :: fs) a
|
||||
wrapErr' f act =
|
||||
wrapErr f act =
|
||||
catchAt lbl (throwAt lbl . f) @{S Z} $
|
||||
lift @{subsetTail _} act
|
||||
|
||||
export
|
||||
wrapErrAt : (0 lbl : tag) -> (Has (ExceptL lbl e) fs, Length fs) =>
|
||||
(e -> e) -> Eff fs a -> Eff fs a
|
||||
wrapErrAt lbl wrap = catchMaybeAt lbl (\ex => throwAt lbl $ wrap ex)
|
||||
|
||||
export %inline
|
||||
wrapErr : (Has (Except e) fs, Length fs) => (e -> e) -> Eff fs a -> Eff fs a
|
||||
wrapErr = wrapErrAt ()
|
||||
|
||||
|
||||
export
|
||||
handleExcept : Functor m => (forall c. e -> m c) -> ExceptL lbl e a -> m a
|
||||
|
|
|
@ -87,7 +87,7 @@ Erase = [Except Error, DefsReader, NameGen]
|
|||
|
||||
export
|
||||
liftWhnf : Eff Whnf a -> Eff Erase a
|
||||
liftWhnf act = lift $ wrapErr' WrapTypeError act
|
||||
liftWhnf act = lift $ wrapErr WrapTypeError act
|
||||
|
||||
export covering
|
||||
computeElimType : ErasureContext d n -> SQty -> Elim d n -> Eff Erase (Term d n)
|
||||
|
|
Loading…
Reference in a new issue