RlpcError -> IsRlpcError
This commit is contained in:
@@ -16,6 +16,7 @@ module Compiler.RLPC
|
||||
, RLPCT(..)
|
||||
, RLPCIO
|
||||
, RLPCOptions(RLPCOptions)
|
||||
, IsRlpcError(..)
|
||||
, RlpcError(..)
|
||||
, addFatal
|
||||
, addWound
|
||||
@@ -56,8 +57,7 @@ import Lens.Micro.TH
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
newtype RLPCT m a = RLPCT {
|
||||
runRLPCT :: forall e. (RlpcError e)
|
||||
=> ReaderT RLPCOptions (ErrorfulT e m) a
|
||||
runRLPCT :: ReaderT RLPCOptions (ErrorfulT RlpcError m) a
|
||||
}
|
||||
|
||||
type RLPC = RLPCT Identity
|
||||
@@ -72,7 +72,7 @@ evalRLPC = undefined
|
||||
evalRLPCT = undefined
|
||||
evalRLPCIO = undefined
|
||||
|
||||
liftErrorful :: (RlpcError e) => ErrorfulT e m a -> RLPCT m a
|
||||
liftErrorful :: ErrorfulT e m a -> RLPCT m a
|
||||
liftErrorful e = undefined
|
||||
|
||||
data RLPCOptions = RLPCOptions
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
module Compiler.RlpcError
|
||||
( RlpcError(..)
|
||||
( IsRlpcError(..)
|
||||
, MsgEnvelope(..)
|
||||
, Severity
|
||||
, RlpcErrorDoc(..)
|
||||
, RlpcError(..)
|
||||
, SrcSpan(..)
|
||||
, msgSpan
|
||||
, msgDiagnostic
|
||||
@@ -15,16 +15,16 @@ import Control.Monad.Errorful
|
||||
import Lens.Micro.TH
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
data MsgEnvelope = MsgEnvelope
|
||||
data MsgEnvelope e = MsgEnvelope
|
||||
{ _msgSpan :: SrcSpan
|
||||
, _msgDiagnostic :: forall e. (RlpcError e) => e
|
||||
, _msgDiagnostic :: e
|
||||
, _msgSeverity :: Severity
|
||||
}
|
||||
|
||||
class RlpcError e where
|
||||
liftRlpcError :: e -> RlpcErrorDoc
|
||||
class IsRlpcError e where
|
||||
liftRlpcError :: e -> RlpcError
|
||||
|
||||
data RlpcErrorDoc
|
||||
data RlpcError
|
||||
|
||||
data Severity = SevWarning
|
||||
| SevError
|
||||
|
||||
@@ -49,7 +49,7 @@ data TypeError
|
||||
deriving (Show, Eq)
|
||||
|
||||
-- TODO:
|
||||
instance RlpcError TypeError where
|
||||
instance IsRlpcError TypeError where
|
||||
|
||||
-- | Synonym for @Errorful [TypeError]@. This means an @HMError@ action may
|
||||
-- throw any number of fatal or nonfatal errors. Run with @runErrorful@.
|
||||
|
||||
@@ -199,10 +199,10 @@ data ParseError = ParErrLexical String
|
||||
deriving Show
|
||||
|
||||
-- TODO:
|
||||
instance RlpcError SrcError where
|
||||
instance IsRlpcError SrcError where
|
||||
|
||||
-- TODO:
|
||||
instance RlpcError ParseError where
|
||||
instance IsRlpcError ParseError where
|
||||
|
||||
alexEOF :: Alex (Located CoreToken)
|
||||
alexEOF = Alex $ \ st@(AlexState { alex_pos = AlexPn _ y x }) ->
|
||||
|
||||
Reference in New Issue
Block a user