@@ -25,7 +25,7 @@ import Data.Utf8 (Utf8)
25import qualified AST.Canonical as Can
25import qualified AST.Canonical as Can
26import qualified AST.Module.Name as ModuleName
26import qualified AST.Module.Name as ModuleName
27import qualified Data.Index as Index
27import qualified Data.Index as Index
28−import qualified Elm.Name as N
28+import qualified Data.Name as Name
29import qualified Reporting.Annotation as A
29import qualified Reporting.Annotation as A
30import qualified Reporting.Region as R
30import qualified Reporting.Region as R
@@ -37,7 +37,7 @@ import qualified Reporting.Region as R
37data Pattern
37data Pattern
38 = Anything
38 = Anything
39 | Literal Literal
39 | Literal Literal
40− | Ctor Can.Union N.Name [Pattern]
40+ | Ctor Can.Union Name.Name [Pattern]
43data Literal
43data Literal
@@ -95,7 +95,7 @@ simplify (A.At _ pattern) =
95 Literal (Chr chr)
95 Literal (Chr chr)
97 Can.PBool union bool ->
97 Can.PBool union bool ->
98− Ctor union (if bool then N.true else N.false) []
98+ Ctor union (if bool then Name.true else Name.false) []
101cons :: Can.Pattern -> Pattern -> Pattern
101cons :: Can.Pattern -> Pattern -> Pattern
@@ -153,34 +153,34 @@ list =
153 consCtor =
153 consCtor =
154 Can.Ctor consName Index.second 2
154 Can.Ctor consName Index.second 2
155 [ Can.TVar "a"
155 [ Can.TVar "a"
156− , Can.TType ModuleName.list N.list [Can.TVar "a"]
156+ , Can.TType ModuleName.list Name.list [Can.TVar "a"]
159 Can.Union ["a"] [ nilCtor, consCtor ] 2 Can.Normal
159 Can.Union ["a"] [ nilCtor, consCtor ] 2 Can.Normal
162{-# NOINLINE unitName #-}
162{-# NOINLINE unitName #-}
163−unitName :: N.Name
163+unitName :: Name.Name
164unitName = "#0"
164unitName = "#0"
167{-# NOINLINE pairName #-}
167{-# NOINLINE pairName #-}
168−pairName :: N.Name
168+pairName :: Name.Name
169pairName = "#2"
169pairName = "#2"
172{-# NOINLINE tripleName #-}
172{-# NOINLINE tripleName #-}
173−tripleName :: N.Name
173+tripleName :: Name.Name
174tripleName = "#3"
174tripleName = "#3"
177{-# NOINLINE consName #-}
177{-# NOINLINE consName #-}
178−consName :: N.Name
178+consName :: Name.Name
179consName = "::"
179consName = "::"
182{-# NOINLINE nilName #-}
182{-# NOINLINE nilName #-}
183−nilName :: N.Name
183+nilName :: Name.Name
184nilName = "[]"
184nilName = "[]"
@@ -458,7 +458,7 @@ isExhaustive matrix n =
458 concatMap isAltExhaustive altList
458 concatMap isAltExhaustive altList
461−isMissing :: Can.Union -> Map.Map N.Name a -> Can.Ctor -> Maybe Pattern
461+isMissing :: Can.Union -> Map.Map Name.Name a -> Can.Ctor -> Maybe Pattern
462isMissing union ctors (Can.Ctor name _ arity _) =
462isMissing union ctors (Can.Ctor name _ arity _) =
463 if Map.member name ctors then
463 if Map.member name ctors then
@@ -466,7 +466,7 @@ isMissing union ctors (Can.Ctor name _ arity _) =
466 Just (Ctor union name (replicate arity Anything))
466 Just (Ctor union name (replicate arity Anything))
469−recoverCtor :: Can.Union -> N.Name -> Int -> [Pattern] -> [Pattern]
469+recoverCtor :: Can.Union -> Name.Name -> Int -> [Pattern] -> [Pattern]
470recoverCtor union name arity patterns =
470recoverCtor union name arity patterns =
472 (args, rest) =
472 (args, rest) =
@@ -552,7 +552,7 @@ isUseful matrix vector =
554-- INVARIANT: (length row == N) ==> (length result == arity + N - 1)
554-- INVARIANT: (length row == N) ==> (length result == arity + N - 1)
555−specializeRowByCtor :: N.Name -> Int -> [Pattern] -> Maybe [Pattern]
555+specializeRowByCtor :: Name.Name -> Int -> [Pattern] -> Maybe [Pattern]
556specializeRowByCtor ctorName arity row =
556specializeRowByCtor ctorName arity row =
557 case row of
557 case row of
558 Ctor _ name args : patterns ->
558 Ctor _ name args : patterns ->
@@ -638,12 +638,12 @@ isComplete matrix =
638-- COLLECT CTORS
638-- COLLECT CTORS
641−collectCtors :: [[Pattern]] -> Map.Map N.Name Can.Union
641+collectCtors :: [[Pattern]] -> Map.Map Name.Name Can.Union
642collectCtors matrix =
642collectCtors matrix =
643 List.foldl' collectCtorsHelp Map.empty matrix
643 List.foldl' collectCtorsHelp Map.empty matrix
646−collectCtorsHelp :: Map.Map N.Name Can.Union -> [Pattern] -> Map.Map N.Name Can.Union
646+collectCtorsHelp :: Map.Map Name.Name Can.Union -> [Pattern] -> Map.Map Name.Name Can.Union
647collectCtorsHelp ctors row =
647collectCtorsHelp ctors row =
648 case row of
648 case row of
649 Ctor union name _ : _ ->
649 Ctor union name _ : _ ->