@@ -15,6 +15,7 @@ import qualified Data.Graph as Graph
1515import qualified Data.List as List
1616import qualified Data.Map.Strict as Map
1717import qualified Data.Map.Strict.Internal as I
18+import qualified Data.Name as Name
1819
1920import qualified AST.Canonical as Can
2021import qualified AST.Source as Src
@@ -27,7 +28,6 @@ import qualified Canonicalize.Environment.Dups as Dups
2728import qualified Canonicalize.Pattern as Pattern
2829import qualified Canonicalize.Type as Type
2930import qualified Data.Index as Index
30−import qualified Elm.Name as N
3131import qualified Elm.Package as Pkg
3232import qualified Reporting.Annotation as A
3333import qualified Reporting.Error.Canonicalize as Error
@@ -45,7 +45,7 @@ type Result i w a =
4545
4646
4747type FreeLocals =
48− Map.Map N.Name Uses
48+ Map.Map Name.Name Uses
4949
5050
5151data Uses =
@@ -214,7 +214,7 @@ canonicalizeCaseBranch env (pattern, expr) =
214214-- CANONICALIZE BINOPS
215215
216216
217−canonicalizeBinops :: R.Region -> Env.Env -> [(Valid.Expr, A.Located N.Name)] -> Valid.Expr -> Result FreeLocals [W.Warning] Can.Expr
217+canonicalizeBinops :: R.Region -> Env.Env -> [(Valid.Expr, A.Located Name.Name)] -> Valid.Expr -> Result FreeLocals [W.Warning] Can.Expr
218218canonicalizeBinops overallRegion env ops final =
219219 let
220220 canonicalizeHelp (expr, A.At region op) =
@@ -379,12 +379,12 @@ addBindingsHelp bindings (A.At region pattern) =
379379
380380
381381type Node =
382− (Binding, N.Name, [N.Name])
382+ (Binding, Name.Name, [Name.Name])
383383
384384
385385data Binding
386386 = Define Can.Def
387− | Edge (A.Located N.Name)
387+ | Edge (A.Located Name.Name)
388388 | Destruct Can.Pattern Can.Expr
389389
390390
@@ -439,7 +439,7 @@ addDefNodes env nodes def =
439439 (\freeLocals warnings cbody ->
440440 let
441441 names = getPatternNames [] pattern
442− name = N.toCompositeName (map A.toValue names)
442+ name = Name.fromManyNames (map A.toValue names)
443443 node = ( Destruct cpattern cbody, name, Map.keys freeLocals )
444444 in
445445 good
@@ -462,12 +462,12 @@ logLetLocals args letLocals value =
462462 value
463463
464464
465−addEdge :: [N.Name] -> [Node] -> A.Located N.Name -> [Node]
465+addEdge :: [Name.Name] -> [Node] -> A.Located Name.Name -> [Node]
466466addEdge edges nodes aname@(A.At _ name) =
467467 (Edge aname, name, edges) : nodes
468468
469469
470−getPatternNames :: [A.Located N.Name] -> Src.Pattern -> [A.Located N.Name]
470+getPatternNames :: [A.Located Name.Name] -> Src.Pattern -> [A.Located Name.Name]
471471getPatternNames names (A.At region pattern) =
472472 case pattern of
473473 Src.PAnything -> names
@@ -491,7 +491,7 @@ getPatternNames names (A.At region pattern) =
491491
492492gatherTypedArgs
493493 :: Env.Env
494− -> N.Name
494+ -> Name.Name
495495 -> [Src.Pattern]
496496 -> Can.Type
497497 -> Index.ZeroBased
@@ -575,7 +575,7 @@ checkCycle bindings defs =
575575 checkCycle otherBindings defs
576576
577577
578−toNames :: [Binding] -> [Can.Def] -> [N.Name]
578+toNames :: [Binding] -> [Can.Def] -> [Name.Name]
579579toNames bindings revDefs =
580580 case bindings of
581581 [] ->
@@ -588,7 +588,7 @@ toNames bindings revDefs =
588588 Destruct _ _ -> toNames otherBindings revDefs
589589
590590
591−getDefName :: Can.Def -> N.Name
591+getDefName :: Can.Def -> Name.Name
592592getDefName def =
593593 case def of
594594 Can.Def (A.At _ name) _ _ ->
@@ -602,7 +602,7 @@ getDefName def =
602602-- LOG VARIABLE USES
603603
604604
605−logVar :: N.Name -> a -> Result FreeLocals w a
605+logVar :: Name.Name -> a -> Result FreeLocals w a
606606logVar name value =
607607 Result.Result $ \freeLocals warnings _ good ->
608608 good (Map.insertWith combineUses name oneDirectUse freeLocals) warnings value
@@ -657,7 +657,7 @@ verifyBindings context bindings (Result.Result k) =
657657 )
658658
659659
660−addUnusedWarning :: W.Context -> [W.Warning] -> N.Name -> R.Region -> [W.Warning]
660+addUnusedWarning :: W.Context -> [W.Warning] -> Name.Name -> R.Region -> [W.Warning]
661661addUnusedWarning context warnings name region =
662662 W.UnusedVariable region context name : warnings
663663
@@ -687,7 +687,7 @@ delayedUsage (Result.Result k) =
687687-- FIND VARIABLE
688688
689689
690−findVar :: R.Region -> Env.Env -> N.Name -> Result FreeLocals w Can.Expr_
690+findVar :: R.Region -> Env.Env -> Name.Name -> Result FreeLocals w Can.Expr_
691691findVar region (Env.Env localHome vs _ _ _ qvs _ _) name =
692692 case Map.lookup name vs of
693693 Just var ->
@@ -712,7 +712,7 @@ findVar region (Env.Env localHome vs _ _ _ qvs _ _) name =
712712 Result.throw (Error.NotFoundVar region Nothing name (toPossibleNames vs qvs))
713713
714714
715−findVarQual :: R.Region -> Env.Env -> N.Name -> N.Name -> Result FreeLocals w Can.Expr_
715+findVarQual :: R.Region -> Env.Env -> Name.Name -> Name.Name -> Result FreeLocals w Can.Expr_
716716findVarQual region (Env.Env localHome vs _ _ _ qvs _ _) prefix name =
717717 case Map.lookup prefix qvs of
718718 Just qualified ->
@@ -731,13 +731,13 @@ findVarQual region (Env.Env localHome vs _ _ _ qvs _ _) prefix name =
731731 Result.throw (Error.NotFoundVar region (Just prefix) name (toPossibleNames vs qvs))
732732
733733 Nothing ->
734− if ModuleName.isKernel prefix && Pkg.isKernel (ModuleName._package localHome) then
735− Result.ok $ Can.VarKernel (ModuleName.getKernel prefix) name
734+ if Name.isKernel prefix && Pkg.isKernel (ModuleName._package localHome) then
735+ Result.ok $ Can.VarKernel (Name.getKernel prefix) name
736736 else
737737 Result.throw (Error.NotFoundVar region (Just prefix) name (toPossibleNames vs qvs))
738738
739739
740−toPossibleNames :: Map.Map N.Name Env.Var -> Env.Qualified Can.Annotation -> Error.PossibleNames
740+toPossibleNames :: Map.Map Name.Name Env.Var -> Env.Qualified Can.Annotation -> Error.PossibleNames
741741toPossibleNames exposed qualified =
742742 Error.PossibleNames (Map.keysSet exposed) (Map.map Map.keysSet qualified)
743743
@@ -746,7 +746,7 @@ toPossibleNames exposed qualified =
746746-- FIND CTOR
747747
748748
749−toVarCtor :: N.Name -> Env.Ctor -> Can.Expr_
749+toVarCtor :: Name.Name -> Env.Ctor -> Can.Expr_
750750toVarCtor name ctor =
751751 case ctor of
752752 Env.Ctor home typeName (Can.Union vars _ _ opts) index args ->