mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -06:00
Fix infinite recursion on error
The implementation was meant to lift from SIO to IO, but instead it was just the identity function, which means that `fail = id . fail` and we have an infinite loop.
This commit is contained in:
@@ -60,7 +60,7 @@ instance Monad SIO where
|
|||||||
SIO m1 >>= xm2 = SIO $ \ h -> m1 h >>= \ x -> unS (xm2 x) h
|
SIO m1 >>= xm2 = SIO $ \ h -> m1 h >>= \ x -> unS (xm2 x) h
|
||||||
|
|
||||||
instance Fail.MonadFail SIO where
|
instance Fail.MonadFail SIO where
|
||||||
fail = liftSIO . fail
|
fail = lift0 . fail
|
||||||
|
|
||||||
instance Output SIO where
|
instance Output SIO where
|
||||||
ePutStr = lift0 . ePutStr
|
ePutStr = lift0 . ePutStr
|
||||||
|
|||||||
Reference in New Issue
Block a user