diff --git a/src/Control/Carrier/Accum/FixedStrict.hs b/src/swarm-util/Control/Carrier/Accum/FixedStrict.hs similarity index 100% rename from src/Control/Carrier/Accum/FixedStrict.hs rename to src/swarm-util/Control/Carrier/Accum/FixedStrict.hs diff --git a/src/Data/BoolExpr/Simplify.hs b/src/swarm-util/Data/BoolExpr/Simplify.hs similarity index 100% rename from src/Data/BoolExpr/Simplify.hs rename to src/swarm-util/Data/BoolExpr/Simplify.hs diff --git a/src/Swarm/Util.hs b/src/swarm-util/Swarm/Util.hs similarity index 100% rename from src/Swarm/Util.hs rename to src/swarm-util/Swarm/Util.hs diff --git a/src/Swarm/Util/Erasable.hs b/src/swarm-util/Swarm/Util/Erasable.hs similarity index 100% rename from src/Swarm/Util/Erasable.hs rename to src/swarm-util/Swarm/Util/Erasable.hs diff --git a/src/Swarm/Util/Lens.hs b/src/swarm-util/Swarm/Util/Lens.hs similarity index 100% rename from src/Swarm/Util/Lens.hs rename to src/swarm-util/Swarm/Util/Lens.hs diff --git a/src/Swarm/Util/Parse.hs b/src/swarm-util/Swarm/Util/Parse.hs similarity index 100% rename from src/Swarm/Util/Parse.hs rename to src/swarm-util/Swarm/Util/Parse.hs diff --git a/src/Swarm/Util/RingBuffer.hs b/src/swarm-util/Swarm/Util/RingBuffer.hs similarity index 100% rename from src/Swarm/Util/RingBuffer.hs rename to src/swarm-util/Swarm/Util/RingBuffer.hs diff --git a/src/Swarm/Util/UnitInterval.hs b/src/swarm-util/Swarm/Util/UnitInterval.hs similarity index 100% rename from src/Swarm/Util/UnitInterval.hs rename to src/swarm-util/Swarm/Util/UnitInterval.hs diff --git a/src/Swarm/Util/WindowedCounter.hs b/src/swarm-util/Swarm/Util/WindowedCounter.hs similarity index 100% rename from src/Swarm/Util/WindowedCounter.hs rename to src/swarm-util/Swarm/Util/WindowedCounter.hs diff --git a/src/Swarm/Util/Yaml.hs b/src/swarm-util/Swarm/Util/Yaml.hs similarity index 100% rename from src/Swarm/Util/Yaml.hs rename to src/swarm-util/Swarm/Util/Yaml.hs diff --git a/swarm.cabal b/swarm.cabal index 1b40bfa3e..2cb027dbf 100644 --- a/swarm.cabal +++ b/swarm.cabal @@ -95,11 +95,51 @@ common ghc2021-extensions -- Not GHC2021, but until we get \cases we use \case a lot LambdaCase -library + +library swarm-util import: stan-config, common, ghc2021-extensions exposed-modules: Control.Carrier.Accum.FixedStrict Data.BoolExpr.Simplify - Swarm.App + Swarm.Util + Swarm.Util.Erasable + Swarm.Util.Lens + Swarm.Util.Parse + Swarm.Util.RingBuffer + Swarm.Util.UnitInterval + Swarm.Util.WindowedCounter + Swarm.Util.Yaml + other-modules: Paths_swarm + autogen-modules: Paths_swarm + build-depends: base >= 4.14 && < 4.19, + aeson >= 2 && < 2.2, + boolexpr >= 0.2 && < 0.3, + clock >= 0.8.2 && < 0.9, + containers >= 0.6.2 && < 0.7, + directory >= 1.3 && < 1.4, + either >= 5.0 && < 5.1, + filepath >= 1.4 && < 1.5, + fused-effects >= 1.1.1.1 && < 1.2, + lens >= 4.19 && < 5.3, + minimorph >= 0.3 && < 0.4, + mtl >= 2.2.2 && < 2.4, + template-haskell >= 2.16 && < 2.21, + text >= 1.2.4 && < 2.1, + vector >= 0.12 && < 0.14, + witch >= 1.1.1.0 && < 1.3, + yaml >= 0.11 && < 0.11.12.0, + transformers >= 0.5 && < 0.7, + servant-docs >= 0.12 && < 0.14, + megaparsec >= 9.6.1 && < 9.7, + hs-source-dirs: src/swarm-util + default-language: Haskell2010 + default-extensions: + -- Avoid unexpected unevaluated thunk buildup + -- See discussion in #415 + StrictData + +library + import: stan-config, common, ghc2021-extensions + exposed-modules: Swarm.App Swarm.Constant Swarm.Doc.Keyword Swarm.Doc.Pedagogy @@ -244,17 +284,21 @@ library Swarm.TUI.Model.Structure Swarm.TUI.Model.UI Swarm.TUI.Panel - Swarm.Util Swarm.Util.Effect - Swarm.Util.Erasable - Swarm.Util.Lens - Swarm.Util.Parse - Swarm.Util.RingBuffer - Swarm.Util.UnitInterval - Swarm.Util.WindowedCounter - Swarm.Util.Yaml Swarm.Version Swarm.Web + + reexported-modules: Control.Carrier.Accum.FixedStrict + , Data.BoolExpr.Simplify + , Swarm.Util + , Swarm.Util.Erasable + , Swarm.Util.Lens + , Swarm.Util.Parse + , Swarm.Util.RingBuffer + , Swarm.Util.UnitInterval + , Swarm.Util.WindowedCounter + , Swarm.Util.Yaml + other-modules: Paths_swarm autogen-modules: Paths_swarm @@ -290,7 +334,6 @@ library linear >= 1.21.6 && < 1.23, lsp >= 1.6 && < 1.7, megaparsec >= 9.6.1 && < 9.7, - minimorph >= 0.3 && < 0.4, transformers >= 0.5 && < 0.7, mtl >= 2.2.2 && < 2.4, murmur3 >= 1.0.4 && < 1.1, @@ -328,6 +371,7 @@ library build-depends: vty-windows >= 0.1.0.3 && < 0.2 else build-depends: vty-unix >= 0.1.0.0 && < 0.2 + build-depends: swarm-util hs-source-dirs: src default-language: Haskell2010 default-extensions: