ddc-core-tetra-0.4.2.1: DDC/Core/Tetra/Error.hs
module DDC.Core.Tetra.Error
(Error (..))
where
import DDC.Core.Tetra.Prim
import DDC.Core.Pretty
import DDC.Type.Exp
-- | Fragment specific errors.
data Error a
-- | Main module does not export a 'main' function.
= ErrorMainMissing
-- | Main module exports a 'main' function in an invalid way.
| ErrorMainInvalidMode
-- | Main module exports a 'main' function with an invalid type.
| ErrorMainInvalidType (Type Name)
deriving Show
instance Pretty (Error a) where
ppr ErrorMainMissing
= vcat [ text "Main module does not export a 'main' function." ]
ppr (ErrorMainInvalidMode)
= vcat [ text "Invalid export mode for main function in Main module." ]
ppr (ErrorMainInvalidType t)
= vcat [ text "Invalid type of main function in Main module."
, text " Type of main function: " <> ppr t
, text " is not an instance of: [e : Effect]. Unit -> S e Unit" ]