mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 09:02:50 -06:00
added MonadFix
This commit is contained in:
@@ -50,6 +50,7 @@ import qualified Data.Map as Map
|
|||||||
import Data.Map (Map)
|
import Data.Map (Map)
|
||||||
--import Control.Applicative(Applicative(..))
|
--import Control.Applicative(Applicative(..))
|
||||||
import Control.Monad (liftM,liftM2) --,ap
|
import Control.Monad (liftM,liftM2) --,ap
|
||||||
|
import Control.Monad.Fix
|
||||||
|
|
||||||
import GF.Data.ErrM
|
import GF.Data.ErrM
|
||||||
import GF.Data.Relation
|
import GF.Data.Relation
|
||||||
@@ -237,6 +238,10 @@ instance ErrorMonad Err where
|
|||||||
handle a@(Ok _) _ = a
|
handle a@(Ok _) _ = a
|
||||||
handle (Bad i) f = f i
|
handle (Bad i) f = f i
|
||||||
|
|
||||||
|
instance MonadFix Err where
|
||||||
|
mfix f = let res@(~(Ok x)) = f x in res
|
||||||
|
|
||||||
|
|
||||||
liftErr e = err raise return e
|
liftErr e = err raise return e
|
||||||
{-
|
{-
|
||||||
instance ErrorMonad (STM s) where
|
instance ErrorMonad (STM s) where
|
||||||
|
|||||||
Reference in New Issue
Block a user