@@ -32,7 +32,6 @@ import Data.Foldable (fold)
3232import qualified Data.Map as M
3333
3434import Control.Monad
35- import Control.Monad.Unify
3635import Control.Monad.Writer
3736import Control.Monad.Error.Class (MonadError (.. ))
3837#if __GLASGOW_HASKELL__ < 710
@@ -183,12 +182,6 @@ data HintCategory
183182
184183data ErrorMessage = ErrorMessage [ErrorMessageHint ] SimpleErrorMessage deriving (Show )
185184
186- instance UnificationError Type ErrorMessage where
187- occursCheckFailed t = ErrorMessage [] $ InfiniteType t
188-
189- instance UnificationError Kind ErrorMessage where
190- occursCheckFailed k = ErrorMessage [] $ InfiniteKind k
191-
192185-- |
193186-- Get the error code for a particular error type
194187--
@@ -291,12 +284,6 @@ errorCode em = case unwrapErrorMessage em of
291284newtype MultipleErrors = MultipleErrors
292285 { runMultipleErrors :: [ErrorMessage ] } deriving (Show , Monoid )
293286
294- instance UnificationError Type MultipleErrors where
295- occursCheckFailed t = MultipleErrors [occursCheckFailed t]
296-
297- instance UnificationError Kind MultipleErrors where
298- occursCheckFailed k = MultipleErrors [occursCheckFailed k]
299-
300287-- | Check whether a collection of errors is empty or not.
301288nonEmpty :: MultipleErrors -> Bool
302289nonEmpty = not . null . runMultipleErrors
@@ -326,7 +313,7 @@ addHint hint = onErrorMessages $ \(ErrorMessage hints se) -> ErrorMessage (hint
326313data LabelType = TypeLabel | SkolemLabel String deriving (Show , Read , Eq , Ord )
327314
328315-- | A map from rigid type variable name/unknown variable pairs to new variables.
329- type UnknownMap = M. Map (LabelType , Unknown ) Unknown
316+ type UnknownMap = M. Map (LabelType , Int ) Int
330317
331318-- | How critical the issue is
332319data Level = Error | Warning deriving Show
@@ -340,7 +327,7 @@ unwrapErrorMessage (ErrorMessage _ se) = se
340327replaceUnknowns :: Type -> State UnknownMap Type
341328replaceUnknowns = everywhereOnTypesM replaceTypes
342329 where
343- lookupTable :: (LabelType , Unknown ) -> UnknownMap -> (Unknown , UnknownMap )
330+ lookupTable :: (LabelType , Int ) -> UnknownMap -> (Int , UnknownMap )
344331 lookupTable x m = case M. lookup x m of
345332 Nothing -> let i = length (filter (on (==) fst x) (M. keys m)) in (i, M. insert x i m)
346333 Just i -> (i, m)
0 commit comments