mirror of
https://github.com/unisonweb/unison.git
synced 2024-10-05 06:07:21 +03:00
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:
parent
36a166d5f0
commit
62fcddc45f
@ -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
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user