delete (almost) redundant copy of Unison.Util.Monoid called U.Util.Monoid

it had one additional function, `intercalateMapM`, which was copied over
This commit is contained in:
Mitchell Rosen 2022-12-09 12:28:22 -05:00
parent 36a166d5f0
commit 62fcddc45f
9 changed files with 20 additions and 40 deletions

View File

@ -46,9 +46,9 @@ import qualified U.Core.ABT as ABT
import qualified U.Util.Base32Hex as Base32Hex
import U.Util.Hash32 (Hash32)
import qualified U.Util.Hash32 as Hash32
import qualified U.Util.Monoid as Monoid
import U.Util.Serialization hiding (debug)
import Unison.Prelude
import qualified Unison.Util.Monoid as Monoid
import Prelude hiding (getChar, putChar)
debug :: Bool

View File

@ -1,31 +0,0 @@
module U.Util.Monoid where
import Control.Monad (foldM)
import Control.Monad.Extra ((>=>))
import Data.Foldable (toList)
import Data.List (intersperse)
-- List.intercalate extended to any monoid
-- "The type that intercalate should have had to begin with."
intercalateMap :: (Foldable t, Monoid a) => a -> (b -> a) -> t b -> a
intercalateMap separator renderer elements =
mconcat $ intersperse separator (renderer <$> toList elements)
intercalateMapM :: (Traversable t, Monad m, Monoid a) => a -> (b -> m a) -> t b -> m a
intercalateMapM separator renderer = traverse renderer >=> return . intercalateMap separator id
fromMaybe :: Monoid a => Maybe a -> a
fromMaybe Nothing = mempty
fromMaybe (Just a) = a
whenM, unlessM :: Monoid a => Bool -> a -> a
whenM True a = a
whenM False _ = mempty
unlessM = whenM . not
isEmpty, nonEmpty :: (Eq a, Monoid a) => a -> Bool
isEmpty a = a == mempty
nonEmpty = not . isEmpty
foldMapM :: (Monad m, Foldable f, Monoid b) => (a -> m b) -> f a -> m b
foldMapM f = foldM (\b a -> fmap (b <>) (f a)) mempty

View File

@ -18,7 +18,6 @@ library
exposed-modules:
U.Util.Cache
U.Util.Components
U.Util.Monoid
U.Util.String
U.Util.Text
U.Util.Timing

View File

@ -1,4 +1,14 @@
module Unison.Util.Monoid where
module Unison.Util.Monoid
( foldMapM,
Unison.Util.Monoid.fromMaybe,
intercalateMap,
intercalateMapM,
isEmpty,
nonEmpty,
Unison.Util.Monoid.unlessM,
whenM,
)
where
import Data.List (intersperse)
import Unison.Prelude hiding (whenM)
@ -9,6 +19,9 @@ intercalateMap :: (Foldable t, Monoid a) => a -> (b -> a) -> t b -> a
intercalateMap separator renderer elements =
mconcat $ intersperse separator (renderer <$> toList elements)
intercalateMapM :: (Traversable t, Monad m, Monoid a) => a -> (b -> m a) -> t b -> m a
intercalateMapM separator renderer = traverse renderer >=> return . intercalateMap separator id
fromMaybe :: Monoid a => Maybe a -> a
fromMaybe Nothing = mempty
fromMaybe (Just a) = a

View File

@ -8,13 +8,13 @@ module Unison.Codebase.Editor.RemoteRepo where
import Control.Lens (Lens')
import qualified Control.Lens as Lens
import qualified Data.Text as Text
import qualified U.Util.Monoid as Monoid
import Unison.Codebase.Path (Path)
import qualified Unison.Codebase.Path as Path
import Unison.Codebase.ShortCausalHash (ShortCausalHash)
import qualified Unison.Codebase.ShortCausalHash as SCH
import Unison.Prelude
import Unison.Share.Types
import qualified Unison.Util.Monoid as Monoid
data ReadRepo
= ReadRepoGit ReadGitRepo

View File

@ -56,7 +56,6 @@ import U.Codebase.Sync (Sync (Sync))
import qualified U.Codebase.Sync as Sync
import U.Codebase.WatchKind (WatchKind)
import qualified U.Codebase.WatchKind as WK
import U.Util.Monoid (foldMapM)
import qualified Unison.ABT as ABT
import qualified Unison.Codebase.SqliteCodebase.Conversions as Cv
import qualified Unison.Codebase.SqliteCodebase.Migrations.MigrateSchema1To2.DbHelpers as Hashing
@ -81,6 +80,7 @@ import Unison.Symbol (Symbol)
import qualified Unison.Term as Term
import Unison.Type (Type)
import qualified Unison.Type as Type
import Unison.Util.Monoid (foldMapM)
import qualified Unison.Util.Set as Set
import Prelude hiding (log)

View File

@ -10,7 +10,6 @@ import Data.Text (unpack)
import qualified Data.Text as Text
import Data.Vector ()
import qualified Text.Show.Unicode as U
import U.Util.Monoid (foldMapM, intercalateMapM)
import Unison.ABT (annotation, reannotateUp, pattern AbsN')
import qualified Unison.ABT as ABT
import qualified Unison.Blank as Blank
@ -43,7 +42,7 @@ import Unison.Term
import Unison.Type (Type, pattern ForallsNamed')
import qualified Unison.Type as Type
import qualified Unison.Util.Bytes as Bytes
import Unison.Util.Monoid (intercalateMap)
import Unison.Util.Monoid (foldMapM, intercalateMap, intercalateMapM)
import Unison.Util.Pretty (ColorText, Pretty, Width)
import qualified Unison.Util.Pretty as PP
import qualified Unison.Util.SyntaxText as S

View File

@ -41,7 +41,6 @@ import qualified U.Codebase.Branch as V2Branch
import qualified U.Codebase.Causal as V2Causal
import qualified U.Codebase.Reference as Reference
import qualified U.Codebase.Referent as Referent
import qualified U.Util.Monoid as Monoid
import Unison.Auth.HTTPClient (AuthenticatedHttpClient (..))
import Unison.Codebase (Codebase)
import qualified Unison.Codebase as Codebase
@ -58,6 +57,7 @@ import qualified Unison.Server.Types as Server
import qualified Unison.Share.Codeserver as Codeserver
import qualified Unison.Share.Types as Share
import qualified Unison.Sqlite as Sqlite
import qualified Unison.Util.Monoid as Monoid
import qualified Unison.Util.Pretty as P
import qualified UnliftIO
import Prelude hiding (readFile, writeFile)

View File

@ -44,7 +44,6 @@ import qualified U.Util.Base32Hex as Base32Hex
import qualified U.Util.Hash as Hash
import U.Util.Hash32 (Hash32)
import qualified U.Util.Hash32 as Hash32
import qualified U.Util.Monoid as Monoid
import qualified Unison.ABT as ABT
import qualified Unison.Auth.Types as Auth
import qualified Unison.Builtin.Decls as DD
@ -152,6 +151,7 @@ import Unison.Type (Type)
import qualified Unison.UnisonFile as UF
import qualified Unison.Util.List as List
import Unison.Util.Monoid (intercalateMap)
import qualified Unison.Util.Monoid as Monoid
import qualified Unison.Util.Pretty as P
import qualified Unison.Util.Relation as R
import Unison.Var (Var)