on master help sign in
Get rid of semigroups dependency
commitdac392a778ec0edc8f6e0eaf62881273b6ce594d authorEvan Czaplicki <evancz@users.noreply.github.com> dateTue 3 Apr 2018, 17:18 (9 years ago) parentbf25326
3 files changed+10−13
builder/src/File/Artifacts.hs+5−7 builder/src/File/Header.hs+5−5 elm.cabal−1
builder/src/File/Artifacts.hs+5−7
@@ -11,8 +11,6 @@ import Control.Concurrent.MVar (newEmptyMVar, putMVar, readMVar)
1111import Control.Monad (foldM, void)
1212import Control.Monad.Except (liftIO)
1313import qualified Data.Binary as Binary
14−import qualified Data.List.NonEmpty as NonEmpty
15−import Data.List.NonEmpty (NonEmpty((:|)))
1614import Data.Map (Map)
1715import qualified Data.Map as Map
1816import qualified Data.Maybe as Maybe
@@ -87,7 +85,7 @@ gather onGood answers =
8785 foldM (gatherHelp onGood) (Right Map.empty) (Map.toList answers)
8886
8987 case summary of
90− Left (err :| errors) ->
88+ Left (err, errors) ->
9189 Task.throw (Exit.Compile err errors)
9290
9391 Right results ->
@@ -117,7 +115,7 @@ gatherHelp onGood summary (name, answer) =
117115
118116
119117type Summary a =
120− Either (NonEmpty E.Exit) (Map Module.Raw a)
118+ Either (E.Exit, [E.Exit]) (Map Module.Raw a)
121119
122120
123121addOk :: Module.Raw -> a -> Summary a -> Summary a
@@ -133,8 +131,8 @@ addOk name result acc =
133131addErr :: E.Exit -> Summary a -> Summary a
134132addErr err acc =
135133 case acc of
136− Left errors ->
137− Left (NonEmpty.cons err errors)
134+ Left (e, es) ->
135+ Left (err, e:es)
138136
139137 Right _ ->
140− Left (err :| [])
138+ Left (err, [])
builder/src/File/Header.hs+5−5
@@ -11,9 +11,7 @@ module File.Header
1111
1212import Control.Monad.Except (liftIO)
1313import qualified Data.ByteString as BS
14−import Data.List.NonEmpty (NonEmpty((:|)))
1514import qualified Data.Map as Map
16−import Data.Semigroup ((<>))
1715import qualified Data.Time.Calendar as Day
1816import qualified Data.Time.Clock as Time
1917import qualified System.Directory as Dir
@@ -100,10 +98,12 @@ readManyFiles summary file files =
10098 Task.mapError Exit.Crawl $
10199 do info <- readManyFilesHelp summary file
102100 infos <- traverse (readManyFilesHelp summary) files
103− let insert (name, info) dict = Map.insertWith (<>) name (info :| []) dict
104101 let nameTable = foldr insert Map.empty (info:infos)
105102 _ <- Map.traverseWithKey detectDuplicateNames nameTable
106103 return (info, infos)
104+ where
105+ append (x,xs) (y,ys) = (x, xs ++ y : ys)
106+ insert (k,v) dict = Map.insertWith append k (v, []) dict
107107
108108
109109readManyFilesHelp :: Summary -> FilePath -> Task.Task_ E.Exit (Module.Raw, Info)
@@ -118,8 +118,8 @@ readManyFilesHelp summary path =
118118 return (name, info)
119119
120120
121−detectDuplicateNames :: Module.Raw -> NonEmpty Info -> Task.Task_ E.Exit ()
122−detectDuplicateNames name (info :| otherInfos) =
121+detectDuplicateNames :: Module.Raw -> (Info, [Info]) -> Task.Task_ E.Exit ()
122+detectDuplicateNames name (info, otherInfos) =
123123 case otherInfos of
124124 [] ->
125125 return ()
elm.cabal−1
@@ -251,7 +251,6 @@ Executable elm
251251 process,
252252 raw-strings-qq,
253253 scientific,
254− semigroups,
255254 SHA,
256255 snap-core,
257256 snap-server,