Safe Haskell | None |
---|
- typeCheck :: (Compressable a, TypeCheckable a b) => a -> TypeCheckMonad a
- typeCheckExpect :: (Compressable a, TypeCheckable a Type) => Type -> a -> TypeCheckMonad a
- typeOfExp :: TCExp -> TypeCheckMonad Type
- typeOfName :: Name -> TypeCheckMonad TypeScheme
- data ErrorOptions
- modifyErrorOptions :: (ErrorOptions -> ErrorOptions) -> TypeCheckMonad ()
- initTypeChecker :: IO TypeInferenceState
- type TypeCheckMonad = StateT TypeInferenceState IO
- data TypeInferenceState
- runTypeChecker :: TypeInferenceState -> TypeCheckMonad a -> IO a
- runFromStateToState :: TypeInferenceState -> TypeCheckMonad a -> IO (a, [ErrorMessage], TypeInferenceState)
Documentation
typeCheck :: (Compressable a, TypeCheckable a b) => a -> TypeCheckMonad aSource
typeCheckExpect :: (Compressable a, TypeCheckable a Type) => Type -> a -> TypeCheckMonad aSource
data ErrorOptions Source
A datatype used to hold which errors and warnings to actually emit.
modifyErrorOptions :: (ErrorOptions -> ErrorOptions) -> TypeCheckMonad ()Source
type TypeCheckMonad = StateT TypeInferenceState IOSource
data TypeInferenceState Source
runTypeChecker :: TypeInferenceState -> TypeCheckMonad a -> IO aSource
Runs the typechecker, starting from state st
. If any errors are
encountered then a SourceError
will be thrown with the relevent
error messages.
runFromStateToState :: TypeInferenceState -> TypeCheckMonad a -> IO (a, [ErrorMessage], TypeInferenceState)Source