on master help sign in
Switch stuff in builder/ over to Data.Name

Pretty much all just type annotation changing qualifiers

commit6940b9f058691a420c1d9e208a392274b71ab301 authorEvan Czaplicki <evancz@users.noreply.github.com> dateMon 19 Nov 2018, 13:38 (8 years ago) parentd331101
8 files changed+46−47
builder/src/Deps/Cache.hs+7−7 builder/src/Deps/Diff.hs+17−17 builder/src/Elm/Diff.hs+7−7 builder/src/Elm/Project.hs+3−3 builder/src/File/Find.hs+3−3 builder/src/Generate/Html.hs+3−4 builder/src/Generate/Nitpick.hs+3−3 builder/src/Generate/Output.hs+3−3
builder/src/Deps/Cache.hs+7−7
@@ -21,7 +21,7 @@ import Data.Function (on)
2121import qualified Data.List as List
2222import qualified Data.Map as Map
2323import Data.Map (Map)
24−import qualified Data.Text as Text
24+import qualified Data.Name as Name
2525import System.FilePath ((</>))
2626
2727import qualified Elm.Docs as Docs
@@ -149,8 +149,8 @@ getVersions name (PackageRegistry _ pkgs) =
149149nearbyNames :: Pkg.Name -> [Pkg.Name] -> [Pkg.Name]
150150nearbyNames (Pkg.Name author1 project1) possibleNames =
151151 let
152− authorDist = authorDistance (Text.unpack author1)
153− projectDist = projectDistance (Text.unpack project1)
152+ authorDist = authorDistance (Name.toString author1)
153+ projectDist = projectDistance (Name.toString project1)
154154
155155 addDistance name@(Pkg.Name author2 project2) =
156156 ( authorDist author2 + projectDist project2, name )
@@ -160,17 +160,17 @@ nearbyNames (Pkg.Name author1 project1) possibleNames =
160160 map addDistance possibleNames
161161
162162
163−authorDistance :: String -> Text.Text -> Int
163+authorDistance :: String -> Name.Name -> Int
164164authorDistance bad possibility =
165− abs (Suggest.distance bad (Text.unpack possibility))
165+ abs (Suggest.distance bad (Name.toString possibility))
166166
167167
168−projectDistance :: String -> Text.Text -> Int
168+projectDistance :: String -> Name.Name -> Int
169169projectDistance bad possibility =
170170 if possibility == "elm" || possibility == "elm-explorations" then
171171 0
172172 else
173− abs (Suggest.distance bad (Text.unpack possibility))
173+ abs (Suggest.distance bad (Name.toString possibility))
174174
175175
176176
builder/src/Deps/Diff.hs+17−17
@@ -17,13 +17,13 @@ import Control.Monad (zipWithM)
1717import Data.Function (on)
1818import qualified Data.List as List
1919import qualified Data.Map as Map
20+import qualified Data.Name as Name
2021import qualified Data.Set as Set
2122import qualified Data.Text as Text
2223
2324import qualified Elm.Compiler.Module as Module
2425import qualified Elm.Compiler.Type as Type
2526import qualified Elm.Docs as Docs
26−import qualified Elm.Name as N
2727import qualified Elm.Package as Pkg
2828
2929
@@ -41,10 +41,10 @@ data PackageChanges =
4141
4242data ModuleChanges =
4343 ModuleChanges
44− { _unions :: Changes N.Name Docs.Union
45− , _aliases :: Changes N.Name Docs.Alias
46− , _values :: Changes N.Name Docs.Value
47− , _binops :: Changes N.Name Docs.Binop
44+ { _unions :: Changes Name.Name Docs.Union
45+ , _aliases :: Changes Name.Name Docs.Alias
46+ , _values :: Changes Name.Name Docs.Value
47+ , _binops :: Changes Name.Name Docs.Binop
4848 }
4949
5050
@@ -144,7 +144,7 @@ isEquivalentBinop (Docs.Binop c1 t1 a1 p1) (Docs.Binop c2 t2 a2 p2) =
144144-- DIFF TYPES
145145
146146
147−diffType :: Type.Type -> Type.Type -> Maybe [(N.Name,N.Name)]
147+diffType :: Type.Type -> Type.Type -> Maybe [(Name.Name,Name.Name)]
148148diffType oldType newType =
149149 case (oldType, newType) of
150150 (Type.Var oldName, Type.Var newName) ->
@@ -192,11 +192,11 @@ diffType oldType newType =
192192
193193
194194-- handle very old docs that do not use qualified names
195−isSameName :: N.Name -> N.Name -> Bool
195+isSameName :: Name.Name -> Name.Name -> Bool
196196isSameName oldFullName newFullName =
197197 let
198198 dedot name =
199− reverse (Text.splitOn "." (N.toText name))
199+ reverse (Text.splitOn "." (Name.toText name))
200200 in
201201 case ( dedot oldFullName, dedot newFullName ) of
202202 (oldName:[], newName:_) ->
@@ -209,7 +209,7 @@ isSameName oldFullName newFullName =
209209 oldFullName == newFullName
210210
211211
212−diffFields :: [(N.Name, Type.Type)] -> [(N.Name, Type.Type)] -> Maybe [(N.Name,N.Name)]
212+diffFields :: [(Name.Name, Type.Type)] -> [(Name.Name, Type.Type)] -> Maybe [(Name.Name,Name.Name)]
213213diffFields oldRawFields newRawFields =
214214 let
215215 sort = List.sortBy (compare `on` fst)
@@ -230,7 +230,7 @@ diffFields oldRawFields newRawFields =
230230-- TYPE VARIABLES
231231
232232
233−isEquivalentRenaming :: [(N.Name,N.Name)] -> Bool
233+isEquivalentRenaming :: [(Name.Name,Name.Name)] -> Bool
234234isEquivalentRenaming varPairs =
235235 let
236236 renamings =
@@ -263,7 +263,7 @@ isEquivalentRenaming varPairs =
263263 allUnique (map snd verifiedRenamings)
264264
265265
266−compatibleVars :: (N.Name, N.Name) -> Bool
266+compatibleVars :: (Name.Name, Name.Name) -> Bool
267267compatibleVars (old, new) =
268268 case (categorizeVar old, categorizeVar new) of
269269 (CompAppend, CompAppend) -> True
@@ -285,13 +285,13 @@ data TypeVarCategory
285285 | Var
286286
287287
288−categorizeVar :: N.Name -> TypeVarCategory
288+categorizeVar :: Name.Name -> TypeVarCategory
289289categorizeVar name
290− | N.startsWith "compappend" name = CompAppend
291− | N.startsWith "comparable" name = Comparable
292− | N.startsWith "appendable" name = Appendable
293− | N.startsWith "number" name = Number
294− | otherwise = Var
290+ | Name.isCompappendType name = CompAppend
291+ | Name.isComparableType name = Comparable
292+ | Name.isAppendableType name = Appendable
293+ | Name.isNumberType name = Number
294+ | otherwise = Var
295295
296296
297297
builder/src/Elm/Diff.hs+7−7
@@ -11,6 +11,7 @@ import Control.Monad.Except (liftIO)
1111import qualified Data.List as List
1212import qualified Data.Map as Map
1313import qualified Data.Maybe as Maybe
14+import qualified Data.Name as Name
1415
1516import qualified Deps.Cache as Cache
1617import Deps.Diff (PackageChanges(..), ModuleChanges(..), Changes(..), Magnitude(..))
@@ -18,7 +19,6 @@ import qualified Deps.Diff as Diff
1819import qualified Elm.Compiler.Module as Module
1920import qualified Elm.Compiler.Type as Type
2021import qualified Elm.Docs as Docs
21−import qualified Elm.Name as N
2222import qualified Elm.Package as Pkg
2323import qualified Elm.Project as Project
2424import qualified Elm.Project.Json as Project
@@ -183,7 +183,7 @@ chunkToDoc (Chunk title magnitude details) =
183183 ]
184184
185185
186−changesToChunk :: L.Localizer -> (N.Name, ModuleChanges) -> Chunk
186+changesToChunk :: L.Localizer -> (Name.Name, ModuleChanges) -> Chunk
187187changesToChunk localizer (name, changes@(ModuleChanges unions aliases values binops)) =
188188 let
189189 magnitude =
@@ -201,7 +201,7 @@ changesToChunk localizer (name, changes@(ModuleChanges unions aliases values bin
201201 (binopAdd, binopChange, binopRemove) =
202202 changesToDocTriple (binopToDoc localizer) binops
203203 in
204− Chunk (N.toString name) magnitude $
204+ Chunk (Name.toString name) magnitude $
205205 D.vcat $ List.intersperse "" $ Maybe.catMaybes $
206206 [ changesToDoc "Added" unionAdd aliasAdd valueAdd binopAdd
207207 , changesToDoc "Removed" unionRemove aliasRemove valueRemove binopRemove
@@ -238,7 +238,7 @@ changesToDoc categoryName unions aliases values binops =
238238 D.fromString categoryName <> ":" : unions ++ aliases ++ binops ++ values
239239
240240
241−unionToDoc :: L.Localizer -> N.Name -> Docs.Union -> D.Doc
241+unionToDoc :: L.Localizer -> Name.Name -> Docs.Union -> D.Doc
242242unionToDoc localizer name (Docs.Union _ tvars ctors) =
243243 let
244244 setup =
@@ -250,7 +250,7 @@ unionToDoc localizer name (Docs.Union _ tvars ctors) =
250250 D.hang 4 (D.sep (setup : zipWith (<+>) ("=" : repeat "|") (map ctorDoc ctors)))
251251
252252
253−aliasToDoc :: L.Localizer -> N.Name -> Docs.Alias -> D.Doc
253+aliasToDoc :: L.Localizer -> Name.Name -> Docs.Alias -> D.Doc
254254aliasToDoc localizer name (Docs.Alias _ tvars tipe) =
255255 let
256256 declaration =
@@ -259,12 +259,12 @@ aliasToDoc localizer name (Docs.Alias _ tvars tipe) =
259259 D.hang 4 (D.sep [ declaration, typeDoc localizer tipe ])
260260
261261
262−valueToDoc :: L.Localizer -> N.Name -> Docs.Value -> D.Doc
262+valueToDoc :: L.Localizer -> Name.Name -> Docs.Value -> D.Doc
263263valueToDoc localizer name (Docs.Value _ tipe) =
264264 D.hang 4 $ D.sep [ D.fromName name <+> ":", typeDoc localizer tipe ]
265265
266266
267−binopToDoc :: L.Localizer -> N.Name -> Docs.Binop -> D.Doc
267+binopToDoc :: L.Localizer -> Name.Name -> Docs.Binop -> D.Doc
268268binopToDoc localizer name (Docs.Binop _ tipe associativity (Docs.Precedence n)) =
269269 "(" <> D.fromName name <> ")" <+> ":" <+> typeDoc localizer tipe <> D.black details
270270 where
builder/src/Elm/Project.hs+3−3
@@ -12,11 +12,11 @@ module Elm.Project
1212
1313import qualified Data.ByteString as BS
1414import Data.Map ((!))
15+import qualified Data.Name as Name
1516import System.FilePath ((</>))
1617
1718import qualified Elm.Compiler as Compiler
1819import qualified Elm.Docs as Docs
19−import qualified Elm.Name as N
2020import qualified Elm.Project.Json as Project
2121import qualified Elm.Project.Root as Root
2222import qualified Elm.Project.Summary as Summary
@@ -73,7 +73,7 @@ compile mode target maybeOutput docs summary@(Summary.Summary root project _ _ _
7373-- COMPILE FOR REPL
7474
7575
76−compileForRepl :: Bool -> L.Localizer -> BS.ByteString -> Maybe N.Name -> Task.Task (Maybe FilePath)
76+compileForRepl :: Bool -> L.Localizer -> BS.ByteString -> Maybe Name.Name -> Task.Task (Maybe FilePath)
7777compileForRepl noColors localizer source maybeName =
7878 do summary@(Summary.Summary root project _ _ _) <- getRoot
7979 Project.check project
@@ -81,7 +81,7 @@ compileForRepl noColors localizer source maybeName =
8181 (dirty, ifaces) <- Plan.plan Nothing summary graph
8282 answers <- Compile.compile project Nothing ifaces dirty
8383 results <- Artifacts.write root answers
84− let (Compiler.Artifacts elmi _ _) = results ! N.replModule
84+ let (Compiler.Artifacts elmi _ _) = results ! Name.replModule
8585 traverse (Output.generateReplFile noColors localizer summary graph elmi) maybeName
8686
8787
builder/src/File/Find.hs+3−3
@@ -9,12 +9,12 @@ module File.Find
99import Control.Monad.Except (liftIO)
1010import qualified Data.Map as Map
1111import qualified Data.Maybe as Maybe
12+import qualified Data.Name as Name
1213import qualified System.FilePath as FP
1314import qualified System.Directory as Dir
1415import System.FilePath ((</>), (<.>))
1516
1617import qualified Elm.Compiler.Module as Module
17−import qualified Elm.Name as N
1818import qualified Elm.Package as Pkg
1919
2020import qualified Elm.Project.Json as Project
@@ -48,7 +48,7 @@ find (Summary.Summary root project exposed _ _) origin name =
4848 findElm project srcDirs exposed origin name
4949
5050 Project.Pkg _ ->
51− if N.startsWith "Elm.Kernel." name then
51+ if Name.isKernel name then
5252 if Project.isPlatformPackage project then
5353 findKernel (toRoot "src") exposed origin name
5454 else
@@ -106,7 +106,7 @@ findKernel srcDir exposed origin name =
106106 if client
107107 then return $ Kernel clientPath (if server then Just serverPath else Nothing)
108108 else
109− case Map.lookup (N.drop 11 name) exposed of
109+ case Map.lookup (Name.getKernel name) exposed of
110110 Just [Pkg.Package pkg _vsn] | pkg == Pkg.core || pkg == Pkg.virtualDom ->
111111 return ForeignKernel
112112
builder/src/Generate/Html.hs+3−4
@@ -8,18 +8,17 @@ module Generate.Html
88
99import qualified Data.ByteString.Builder as B
1010import Data.Monoid ((<>))
11+import qualified Data.Name as Name
1112import Text.RawString.QQ (r)
1213
13−import qualified Elm.Name as N
14−
1514
1615
1716-- SANDWICH
1817
1918
20−sandwich :: N.Name -> B.Builder -> B.Builder
19+sandwich :: Name.Name -> B.Builder -> B.Builder
2120sandwich moduleName javascript =
22− let name = N.toBuilder moduleName in
21+ let name = Name.toBuilder moduleName in
2322 [r|<!DOCTYPE HTML>
2423<html>
2524<head>
builder/src/Generate/Nitpick.hs+3−3
@@ -5,24 +5,24 @@ module Generate.Nitpick
55
66
77import qualified Data.Map as Map
8+import qualified Data.Name as Name
89import qualified Data.Set as Set
910
1011import qualified AST.Optimized as Opt
1112import qualified AST.Module.Name as ModuleName
1213import qualified Elm.Package as Pkg
13−import qualified Elm.Name as N
1414
1515
1616
1717-- FIND DEBUG USES
1818
1919
20−findDebugUses :: Pkg.Name -> Opt.Graph -> [N.Name]
20+findDebugUses :: Pkg.Name -> Opt.Graph -> [Name.Name]
2121findDebugUses pkg (Opt.Graph _ graph _) =
2222 Set.toList $ Map.foldrWithKey (addDebugUses pkg) Set.empty graph
2323
2424
25−addDebugUses :: Pkg.Name -> Opt.Global -> Opt.Node -> Set.Set N.Name -> Set.Set N.Name
25+addDebugUses :: Pkg.Name -> Opt.Global -> Opt.Node -> Set.Set Name.Name -> Set.Set Name.Name
2626addDebugUses here (Opt.Global (ModuleName.Canonical pkg home) _) node uses =
2727 if pkg == here && nodeHasDebug node then
2828 Set.insert home uses
builder/src/Generate/Output.hs+3−3
@@ -17,6 +17,7 @@ import Control.Monad.Trans (liftIO)
1717import qualified Data.ByteString.Builder as B
1818import qualified Data.Map as Map
1919import Data.Monoid ((<>))
20+import qualified Data.Name as Name
2021import qualified System.Directory as Dir
2122import qualified System.FilePath as FP
2223import System.FilePath ((</>))
@@ -25,7 +26,6 @@ import qualified Elm.Compiler as Compiler
2526import qualified Elm.Compiler.Module as Module
2627import qualified Elm.Compiler.Objects as Obj
2728import qualified Elm.Interface as I
28−import qualified Elm.Name as N
2929import qualified Elm.Package as Pkg
3030
3131import qualified AST.Module.Name as ModuleName
@@ -166,13 +166,13 @@ generateReplFile
166166 -> Summary.Summary
167167 -> Crawl.Result
168168 -> I.Interface
169− -> N.Name
169+ -> Name.Name
170170 -> Task.Task FilePath
171171generateReplFile noColors localizer summary@(Summary.Summary _ project _ _ _) graph iface name =
172172 do
173173 objectGraph <- organize summary graph
174174
175− let home = Module.Canonical (Project.getName project) N.replModule
175+ let home = Module.Canonical (Project.getName project) Name.replModule
176176 let builder = Obj.generateForRepl (not noColors) localizer objectGraph iface home name
177177
178178 liftIO $ IO.writeBuilder (Paths.temp "js") $