diff --git a/appDodge/Main.hs b/appDodge/Main.hs index 083eac5fe..472db59ac 100644 --- a/appDodge/Main.hs +++ b/appDodge/Main.hs @@ -26,7 +26,7 @@ import Control.Lens import Control.Monad --import Control.Monad.Parallel import qualified Data.Text as T -import qualified Data.IntMap as IM +import qualified IntMapHelp as IM import Graphics.Rendering.OpenGL hiding (color, rotate, scale, translate) import qualified SDL import qualified SDL.Mixer as Mix diff --git a/package.yaml b/package.yaml index 7f62b581a..e99c68c08 100644 --- a/package.yaml +++ b/package.yaml @@ -22,6 +22,8 @@ description: Description text, TODO link to README.md dependencies: - base >= 4.7 && < 5 - containers +- strict-containers +- strict-containers-lens - unordered-containers - bitwise-enum - graphviz diff --git a/src/Dodge/Base/Collide.hs b/src/Dodge/Base/Collide.hs index 471dd2ee2..60e57a31c 100644 --- a/src/Dodge/Base/Collide.hs +++ b/src/Dodge/Base/Collide.hs @@ -44,7 +44,7 @@ import Dodge.Base.Wall import Geometry import Data.Maybe -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens import Control.Monad import StreamingHelp diff --git a/src/Dodge/Base/Item.hs b/src/Dodge/Base/Item.hs index c9c6a3fc1..819d726f8 100644 --- a/src/Dodge/Base/Item.hs +++ b/src/Dodge/Base/Item.hs @@ -5,7 +5,7 @@ module Dodge.Base.Item --import Dodge.Base.You --import LensHelp -- ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM --selectedObject :: World -> Maybe (Either FloorItem Button) --selectedObject w = lookup (_crInvSel ycr) $ zip [n..] $ _closeObjects w diff --git a/src/Dodge/Beam.hs b/src/Dodge/Beam.hs index fd36b1d5c..76743c998 100644 --- a/src/Dodge/Beam.hs +++ b/src/Dodge/Beam.hs @@ -17,7 +17,7 @@ import Picture --import Data.List (sortOn) --import MonadHelp import Data.Maybe -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM doBeamCombine :: BeamCombineType -> (Point2,(Point2,Point2,Beam),(Point2,Point2,Beam)) diff --git a/src/Dodge/Block.hs b/src/Dodge/Block.hs index 8249f8e32..a15416064 100644 --- a/src/Dodge/Block.hs +++ b/src/Dodge/Block.hs @@ -17,7 +17,7 @@ import Data.Foldable import Data.Function import Data.Maybe import qualified Data.IntSet as IS -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens import qualified Streaming.Prelude as S import qualified Data.Graph.Inductive as FGL diff --git a/src/Dodge/Bullet.hs b/src/Dodge/Bullet.hs index 559eab616..470828106 100644 --- a/src/Dodge/Bullet.hs +++ b/src/Dodge/Bullet.hs @@ -12,7 +12,7 @@ import Geometry import LensHelp import StreamingHelp -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Streaming.Prelude as S import Data.Maybe import Dodge.Movement.Turn diff --git a/src/Dodge/Combine.hs b/src/Dodge/Combine.hs index 6885b63ff..e8413a555 100644 --- a/src/Dodge/Combine.hs +++ b/src/Dodge/Combine.hs @@ -22,7 +22,7 @@ import Data.Map.Merge.Strict import Control.Monad import Control.Lens import Data.Bifunctor -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM --import qualified Data.IntSet as IS import qualified Data.Map.Strict as M --import Data.Map.Merge.Strict diff --git a/src/Dodge/Creature.hs.orig b/src/Dodge/Creature.hs.orig index 0ca65ad42..01bf918aa 100644 --- a/src/Dodge/Creature.hs.orig +++ b/src/Dodge/Creature.hs.orig @@ -32,7 +32,7 @@ import Control.Monad.State import Control.Monad import System.Random import qualified Data.Set as S -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map as M import Foreign.ForeignPtr import Control.Concurrent diff --git a/src/Dodge/Creature/ArmourChase.hs b/src/Dodge/Creature/ArmourChase.hs index c2804e722..e024db390 100644 --- a/src/Dodge/Creature/ArmourChase.hs +++ b/src/Dodge/Creature/ArmourChase.hs @@ -8,7 +8,7 @@ import Dodge.Creature.ChaseCrit import Dodge.Item.Equipment import Dodge.Item.Consumable -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens flockArmourChaseCrit :: Creature diff --git a/src/Dodge/Creature/AutoCrit.hs b/src/Dodge/Creature/AutoCrit.hs index e1f576c62..45567530d 100644 --- a/src/Dodge/Creature/AutoCrit.hs +++ b/src/Dodge/Creature/AutoCrit.hs @@ -7,7 +7,7 @@ import Dodge.Item.Weapon.BulletGuns import Dodge.Item.Consumable import Picture -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens autoCrit :: Creature diff --git a/src/Dodge/Creature/Boid.hs b/src/Dodge/Creature/Boid.hs index 7b24261e3..973a0b1b6 100644 --- a/src/Dodge/Creature/Boid.hs +++ b/src/Dodge/Creature/Boid.hs @@ -7,7 +7,7 @@ import Geometry import Control.Monad.Reader import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM interpWith :: Float -> Point2 -> Point2 -> Point2 interpWith x a b = x *.* a +.+ (1 - x) *.* b diff --git a/src/Dodge/Creature/ChaseCrit.hs b/src/Dodge/Creature/ChaseCrit.hs index 8ebc07e84..7732cc0d9 100644 --- a/src/Dodge/Creature/ChaseCrit.hs +++ b/src/Dodge/Creature/ChaseCrit.hs @@ -11,7 +11,7 @@ import Dodge.Item.Equipment import Dodge.SoundLogic import Picture -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens --import System.Random diff --git a/src/Dodge/Creature/ChooseTarget.hs b/src/Dodge/Creature/ChooseTarget.hs index 24e9129de..212f20344 100644 --- a/src/Dodge/Creature/ChooseTarget.hs +++ b/src/Dodge/Creature/ChooseTarget.hs @@ -4,7 +4,7 @@ import Dodge.Data import Dodge.Base import Control.Lens ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM targetYouLOS :: Creature -> World -> Maybe Creature {-# INLINE targetYouLOS #-} diff --git a/src/Dodge/Creature/Impulse.hs b/src/Dodge/Creature/Impulse.hs index c60e7e113..45285e09a 100644 --- a/src/Dodge/Creature/Impulse.hs +++ b/src/Dodge/Creature/Impulse.hs @@ -11,7 +11,7 @@ import Dodge.SoundLogic import Geometry import LensHelp -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import System.Random import Control.Monad.State import Data.Bifunctor diff --git a/src/Dodge/Creature/Impulse/Movement.hs b/src/Dodge/Creature/Impulse/Movement.hs index 1dffe5686..694adabdf 100644 --- a/src/Dodge/Creature/Impulse/Movement.hs +++ b/src/Dodge/Creature/Impulse/Movement.hs @@ -4,7 +4,7 @@ import Dodge.Creature.Statistics import Geometry --import Data.Maybe ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM import Control.Lens {- | Creature attempts to moves under its own steam. The idea is that this may or may not work, depending on the status of the creature. diff --git a/src/Dodge/Creature/Impulse/UseItem.hs b/src/Dodge/Creature/Impulse/UseItem.hs index 7e15b4b2b..ecce3500e 100644 --- a/src/Dodge/Creature/Impulse/UseItem.hs +++ b/src/Dodge/Creature/Impulse/UseItem.hs @@ -11,7 +11,7 @@ import Dodge.Reloading import Dodge.Item.Location import Dodge.HeldUse -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map.Strict as M import qualified SDL --import qualified Data.IntSet as IS diff --git a/src/Dodge/Creature/LauncherCrit.hs b/src/Dodge/Creature/LauncherCrit.hs index c4d35df44..23bc2d5cb 100644 --- a/src/Dodge/Creature/LauncherCrit.hs +++ b/src/Dodge/Creature/LauncherCrit.hs @@ -7,7 +7,7 @@ import Dodge.Default import Dodge.Item.Weapon.Launcher import Picture -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens launcherCrit :: Creature diff --git a/src/Dodge/Creature/LtAutoCrit.hs b/src/Dodge/Creature/LtAutoCrit.hs index 36375ff47..995fe71a9 100644 --- a/src/Dodge/Creature/LtAutoCrit.hs +++ b/src/Dodge/Creature/LtAutoCrit.hs @@ -7,7 +7,7 @@ import Dodge.Item.Weapon.BulletGuns import Dodge.Item.Consumable import Picture -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens ltAutoCrit :: Creature diff --git a/src/Dodge/Creature/Perception.hs b/src/Dodge/Creature/Perception.hs index 839089880..6e91dac4c 100644 --- a/src/Dodge/Creature/Perception.hs +++ b/src/Dodge/Creature/Perception.hs @@ -17,7 +17,7 @@ import Sound.Data import Data.Maybe import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map.Strict as M perceptionUpdate @@ -35,7 +35,7 @@ chaseCritPerceptionUpdate is w = of attention -} -- TODO delete? basicAwarenessUpdate :: Creature -> Creature basicAwarenessUpdate cr = case _cpAttention $ _crPerception cr of - Fixated i -> cr & crPerception . cpAwareness + Fixated i -> cr & crPerception . cpAwareness %~ (IM.insert i (Cognizant 10000) . IM.mapMaybe decreaseAwareness) AttentiveTo is -> cr & crPerception . cpAwareness diff --git a/src/Dodge/Creature/Perception/Data.hs b/src/Dodge/Creature/Perception/Data.hs index ce227fe14..fbdc65881 100644 --- a/src/Dodge/Creature/Perception/Data.hs +++ b/src/Dodge/Creature/Perception/Data.hs @@ -21,7 +21,7 @@ module Dodge.Creature.Perception.Data ) where import Control.Lens -import qualified Data.IntMap as IM +import qualified IntMapHelp as IM data Perception = Perception { _cpVigilance :: Vigilance diff --git a/src/Dodge/Creature/PistolCrit.hs b/src/Dodge/Creature/PistolCrit.hs index b28c7cc22..c752183b3 100644 --- a/src/Dodge/Creature/PistolCrit.hs +++ b/src/Dodge/Creature/PistolCrit.hs @@ -7,7 +7,7 @@ import Dodge.Item.Weapon.BulletGuns import Dodge.Item.Consumable import Picture -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens pistolCrit :: Creature diff --git a/src/Dodge/Creature/ReaderUpdate.hs b/src/Dodge/Creature/ReaderUpdate.hs index 176804ef6..aac3d4234 100644 --- a/src/Dodge/Creature/ReaderUpdate.hs +++ b/src/Dodge/Creature/ReaderUpdate.hs @@ -22,7 +22,7 @@ import Dodge.Zone import Dodge.Path import Geometry -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens import Control.Applicative import Data.Maybe diff --git a/src/Dodge/Creature/SetTarget.hs b/src/Dodge/Creature/SetTarget.hs index f93141bbd..4f484da80 100644 --- a/src/Dodge/Creature/SetTarget.hs +++ b/src/Dodge/Creature/SetTarget.hs @@ -3,7 +3,7 @@ module Dodge.Creature.SetTarget where import Dodge.Data import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM {- | Assumes that you are id 0: if creature is cognizant of you, sets you as target -} targetYouWhenCognizant :: World diff --git a/src/Dodge/Creature/SpreadGunCrit.hs b/src/Dodge/Creature/SpreadGunCrit.hs index 319019b58..0cf0479d0 100644 --- a/src/Dodge/Creature/SpreadGunCrit.hs +++ b/src/Dodge/Creature/SpreadGunCrit.hs @@ -7,7 +7,7 @@ import Dodge.Item.Weapon.BulletGuns import Dodge.Item.Consumable import Picture -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens spreadGunCrit :: Creature diff --git a/src/Dodge/Creature/Statistics.hs b/src/Dodge/Creature/Statistics.hs index 35c0e4a14..6f77c5e26 100644 --- a/src/Dodge/Creature/Statistics.hs +++ b/src/Dodge/Creature/Statistics.hs @@ -8,7 +8,7 @@ import qualified IntMapHelp as IM import LensHelp import Data.Maybe -import Data.IntMap.Merge.Strict +import Data.Strict.IntMap.Autogen.Merge.Strict getCrDexterity :: Creature -> Int getCrDexterity cr = _dexterity (_crStatistics cr) @@ -26,7 +26,7 @@ equipmentStrValue itm = case _iyBase $ _itType itm of _ -> 0 crCurrentEquipment :: Creature -> IM.IntMap Item -crCurrentEquipment cr = merge dropMissing dropMissing (zipWithMatched (\_ _ itm -> itm)) +crCurrentEquipment cr = merge dropMissing dropMissing (zipWithMatched (\_ _ itm -> itm)) (_crInvEquipped cr) (_crInv cr) diff --git a/src/Dodge/Creature/Test.hs b/src/Dodge/Creature/Test.hs index 7fc0ff833..e2fe7ee97 100644 --- a/src/Dodge/Creature/Test.hs +++ b/src/Dodge/Creature/Test.hs @@ -31,7 +31,7 @@ import SameConstr import Data.List (find) import Data.Maybe ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM import Control.Lens crIsReloading :: Creature -> Bool diff --git a/src/Dodge/Data.hs b/src/Dodge/Data.hs index 6e2f8b8fb..db4d40ed0 100644 --- a/src/Dodge/Data.hs +++ b/src/Dodge/Data.hs @@ -147,7 +147,7 @@ import System.Random import Data.Graph.Inductive import qualified Data.Set as S import qualified Data.IntSet as IS -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map.Strict as M import qualified Data.Text as T import SDL (Scancode, MouseButton) diff --git a/src/Dodge/Data.hs.orig b/src/Dodge/Data.hs.orig index 920530a6f..1d8e2f848 100644 --- a/src/Dodge/Data.hs.orig +++ b/src/Dodge/Data.hs.orig @@ -16,7 +16,7 @@ import Control.Monad.State import System.Random import Data.Graph.Inductive import qualified Data.Set as S -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map as M import qualified SDL.Mixer as Mix import SDL (Scancode, MouseButton) diff --git a/src/Dodge/Data/Item.hs b/src/Dodge/Data/Item.hs index 307ec41cb..a2c9e3a6e 100644 --- a/src/Dodge/Data/Item.hs +++ b/src/Dodge/Data/Item.hs @@ -4,7 +4,6 @@ module Dodge.Data.Item ( module Dodge.Data.Item , module Dodge.Data.Item.Misc ) where -import Geometry.Data import Control.Lens import Dodge.Data.Item.Misc import Dodge.Data.Item.Consumption @@ -17,7 +16,7 @@ import Dodge.Combine.Data import Dodge.Item.Attachment.Data import Color -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM data Item = Item { _itConsumption :: ItemConsumption , _itUse :: ItemUse diff --git a/src/Dodge/Data/Zoning.hs b/src/Dodge/Data/Zoning.hs index dc1e8f0c8..e9853943c 100644 --- a/src/Dodge/Data/Zoning.hs +++ b/src/Dodge/Data/Zoning.hs @@ -3,7 +3,7 @@ module Dodge.Data.Zoning where import Geometry.Data import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import StreamingHelp data Zoning t a = Zoning diff --git a/src/Dodge/Default/Creature.hs b/src/Dodge/Default/Creature.hs index fc5ceb7bf..8eed284e7 100644 --- a/src/Dodge/Default/Creature.hs +++ b/src/Dodge/Default/Creature.hs @@ -4,7 +4,7 @@ import Dodge.Creature.Picture import Geometry.Data import Picture -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map.Strict as M import Control.Lens @@ -71,8 +71,8 @@ defaultInvSize = 20 defaultPerceptionState :: Perception defaultPerceptionState = Perception { _cpVigilance = Lethargic - , _cpAttention = AttentiveTo IM.empty - , _cpAwareness = IM.empty + , _cpAttention = AttentiveTo mempty + , _cpAwareness = mempty , _cpVision = defaultVision , _cpAudition = defaultAudition } diff --git a/src/Dodge/Default/Room.hs b/src/Dodge/Default/Room.hs index ddace4e4d..d07eb10d7 100644 --- a/src/Dodge/Default/Room.hs +++ b/src/Dodge/Default/Room.hs @@ -3,7 +3,7 @@ import Data.Tile import Geometry.Data --import Dodge.LevelGen.Data import Dodge.Data -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Set as S defaultRoom :: Room diff --git a/src/Dodge/Default/World.hs b/src/Dodge/Default/World.hs index c052a8309..5baf5ab3d 100644 --- a/src/Dodge/Default/World.hs +++ b/src/Dodge/Default/World.hs @@ -12,7 +12,7 @@ import Geometry.Data import Geometry.Polygon import System.Random -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map as M import qualified Data.Set as S import Data.Graph.Inductive.Graph hiding ((&)) diff --git a/src/Dodge/Default/World.hs.orig b/src/Dodge/Default/World.hs.orig index 651cf4275..865a0bffc 100644 --- a/src/Dodge/Default/World.hs.orig +++ b/src/Dodge/Default/World.hs.orig @@ -15,7 +15,7 @@ import Geometry.Polygon import Control.Lens import System.Random -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map as M import qualified Data.Set as S import Data.Graph.Inductive.Graph hiding ((&)) diff --git a/src/Dodge/Equipment.hs b/src/Dodge/Equipment.hs index 0df236357..3580a1a53 100644 --- a/src/Dodge/Equipment.hs +++ b/src/Dodge/Equipment.hs @@ -1,8 +1,8 @@ module Dodge.Equipment where import Dodge.Data -import qualified Data.IntMap.Strict as IM -import Data.IntMap.Merge.Strict +import qualified IntMapHelp as IM +import Data.Strict.IntMap.Autogen.Merge.Strict getCrEquipment :: Creature -> IM.IntMap Item getCrEquipment cr = merge dropMissing dropMissing (zipWithMatched $ \_ _ -> id) diff --git a/src/Dodge/Event/Keyboard.hs b/src/Dodge/Event/Keyboard.hs index 497cf1081..64009a481 100644 --- a/src/Dodge/Event/Keyboard.hs +++ b/src/Dodge/Event/Keyboard.hs @@ -20,7 +20,7 @@ import LensHelp --import Color --import Data.List -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Data.Maybe import qualified Data.Set as S import SDL diff --git a/src/Dodge/Event/Test.hs b/src/Dodge/Event/Test.hs index 0d99baa22..f2113339b 100644 --- a/src/Dodge/Event/Test.hs +++ b/src/Dodge/Event/Test.hs @@ -8,7 +8,7 @@ import Dodge.Data --import Picture --import Geometry -- ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM --import Control.Lens testEvent :: World -> World testEvent w = w diff --git a/src/Dodge/Floor.hs b/src/Dodge/Floor.hs index b3f62917e..62e73d901 100644 --- a/src/Dodge/Floor.hs +++ b/src/Dodge/Floor.hs @@ -35,7 +35,7 @@ import RandomHelp import Data.List (intersperse) --import Data.Sequence hiding (zipWith) --import Data.Maybe ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM initialAnoTree :: Annotation initialAnoTree = OnwardList diff --git a/src/Dodge/Initialisation.hs b/src/Dodge/Initialisation.hs index 9f2026838..21fca39d1 100644 --- a/src/Dodge/Initialisation.hs +++ b/src/Dodge/Initialisation.hs @@ -13,7 +13,7 @@ import Geometry.Data import System.Random import qualified Data.Set as S -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map as M initialWorld :: World diff --git a/src/Dodge/Inventory/Add.hs b/src/Dodge/Inventory/Add.hs index 0d162a814..6b91e361b 100644 --- a/src/Dodge/Inventory/Add.hs +++ b/src/Dodge/Inventory/Add.hs @@ -7,7 +7,7 @@ import Dodge.Base.You import Data.Maybe import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM putItemInInvID :: Int -> Int -> World -> (Maybe Int,World) putItemInInvID cid flid w = fromMaybe (Nothing,w) $ do diff --git a/src/Dodge/Item/Attachment.hs b/src/Dodge/Item/Attachment.hs index 57dfd7626..5fe484ba6 100644 --- a/src/Dodge/Item/Attachment.hs +++ b/src/Dodge/Item/Attachment.hs @@ -9,7 +9,7 @@ import Dodge.Default import Control.Lens hiding ((|>),(<|)) import Data.Sequence import Data.Maybe -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM charFiringStratI diff --git a/src/Dodge/Item/Consumable.hs b/src/Dodge/Item/Consumable.hs index 9d88a78cf..a67701b16 100644 --- a/src/Dodge/Item/Consumable.hs +++ b/src/Dodge/Item/Consumable.hs @@ -10,7 +10,7 @@ import Dodge.SoundLogic --import Data.Maybe import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM medkit :: Int -> Item medkit i = defaultConsumable diff --git a/src/Dodge/Item/Draw.hs b/src/Dodge/Item/Draw.hs index d2803ea85..7fa1a7a56 100644 --- a/src/Dodge/Item/Draw.hs +++ b/src/Dodge/Item/Draw.hs @@ -12,7 +12,7 @@ import ShapePicture import Dodge.Item.Equipment.Shape import Dodge.Item.Draw.SPic -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens itemEquipPict :: Creature -> Item -> SPic diff --git a/src/Dodge/Item/Weapon/BatteryGuns.hs b/src/Dodge/Item/Weapon/BatteryGuns.hs index c3337132d..a616f10cf 100644 --- a/src/Dodge/Item/Weapon/BatteryGuns.hs +++ b/src/Dodge/Item/Weapon/BatteryGuns.hs @@ -38,7 +38,7 @@ import LensHelp --import Data.List (sortOn) --import System.Random --import Data.Tuple -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map.Strict as M --import Control.Monad.State diff --git a/src/Dodge/Item/Weapon/Remote.hs b/src/Dodge/Item/Weapon/Remote.hs index 9c4e0beea..71c959933 100644 --- a/src/Dodge/Item/Weapon/Remote.hs +++ b/src/Dodge/Item/Weapon/Remote.hs @@ -8,7 +8,7 @@ import Dodge.Default import Geometry import Dodge.Item.Location -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens setRemoteBombScope :: Int -> Prop -> World -> World diff --git a/src/Dodge/Item/Weapon/SonicGuns.hs b/src/Dodge/Item/Weapon/SonicGuns.hs index e47d3d338..e40a0e4ee 100644 --- a/src/Dodge/Item/Weapon/SonicGuns.hs +++ b/src/Dodge/Item/Weapon/SonicGuns.hs @@ -16,7 +16,7 @@ import LensHelp --import Data.Bifunctor --import System.Random --import Data.Tuple ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM sonicGun :: Item sonicGun = defaultAutoGun diff --git a/src/Dodge/Item/Weapon/Targeting.hs b/src/Dodge/Item/Weapon/Targeting.hs index 6493907d1..5c0b04534 100644 --- a/src/Dodge/Item/Weapon/Targeting.hs +++ b/src/Dodge/Item/Weapon/Targeting.hs @@ -6,7 +6,7 @@ import Dodge.Data import Geometry.Data import Control.Lens ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM useTargetPos :: (Maybe Point2 -> Creature -> World -> World) -> Creature diff --git a/src/Dodge/Item/Weapon/TriggerType.hs b/src/Dodge/Item/Weapon/TriggerType.hs index 396b3e5ad..04d7569fc 100644 --- a/src/Dodge/Item/Weapon/TriggerType.hs +++ b/src/Dodge/Item/Weapon/TriggerType.hs @@ -83,7 +83,7 @@ import LensHelp --import Control.Lens import Data.Maybe ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM import Data.Foldable type ChainEffect diff --git a/src/Dodge/Lampoid.hs b/src/Dodge/Lampoid.hs index bc941a5f6..8e68412a6 100644 --- a/src/Dodge/Lampoid.hs +++ b/src/Dodge/Lampoid.hs @@ -11,7 +11,7 @@ import qualified IntMapHelp as IM updateLampoid :: Creature -> World -> World updateLampoid cr w = case cr ^?! crType . lampLSID of Nothing -> let i = IM.newKey (_lightSources w) - in w & lightSources . at i ?~ lsColPosID lcol (addZ h cpos) i + in w & lightSources %~ IM.insert i (lsColPosID lcol (addZ h cpos) i) Just i | _crHP cr < 0 -> w & explosionFlashAt cpos diff --git a/src/Dodge/LevelGen.hs b/src/Dodge/LevelGen.hs index d19ef4027..7323f3004 100644 --- a/src/Dodge/LevelGen.hs +++ b/src/Dodge/LevelGen.hs @@ -18,7 +18,7 @@ import System.Directory import System.Random import Control.Lens import Control.Monad.State -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Text.IO as TIO generateWorldFromSeed :: Int -> IO World diff --git a/src/Dodge/LevelGen/Data.hs b/src/Dodge/LevelGen/Data.hs index a79039cb6..c0b7f923d 100644 --- a/src/Dodge/LevelGen/Data.hs +++ b/src/Dodge/LevelGen/Data.hs @@ -14,7 +14,7 @@ import Control.Lens --import Control.Monad.State --import System.Random import Data.Maybe ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM --import Data.Bifunctor diff --git a/src/Dodge/LevelGen/LevelStructure.hs b/src/Dodge/LevelGen/LevelStructure.hs index c43324092..59dd09e9e 100644 --- a/src/Dodge/LevelGen/LevelStructure.hs +++ b/src/Dodge/LevelGen/LevelStructure.hs @@ -12,7 +12,7 @@ import Color import LensHelp --import Data.Tree -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map.Strict as M --import Control.Lens diff --git a/src/Dodge/LevelGen/Switch.hs b/src/Dodge/LevelGen/Switch.hs index c342b5de5..5bb5742c1 100644 --- a/src/Dodge/LevelGen/Switch.hs +++ b/src/Dodge/LevelGen/Switch.hs @@ -12,7 +12,7 @@ import ShapePicture import Shape import Geometry -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens makeButton :: Color diff --git a/src/Dodge/Machine.hs b/src/Dodge/Machine.hs index 5db2c61bd..7487a69fe 100644 --- a/src/Dodge/Machine.hs +++ b/src/Dodge/Machine.hs @@ -8,7 +8,7 @@ import Dodge.SoundLogic import Geometry import Dodge.Base -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM basicMachineUpdate :: (Machine -> World -> World) -> Machine -> World -> World basicMachineUpdate f mc = basicMachineApplyDamage mc . f mc diff --git a/src/Dodge/Machine/Destroy.hs b/src/Dodge/Machine/Destroy.hs index 026f6ce79..933ce6c12 100644 --- a/src/Dodge/Machine/Destroy.hs +++ b/src/Dodge/Machine/Destroy.hs @@ -5,7 +5,7 @@ import Dodge.WorldEvent.Explosion import LensHelp import Data.Maybe -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM destroyMachine :: Machine -> World -> World destroyMachine mc = (machines %~ IM.delete (_mcID mc)) diff --git a/src/Dodge/Path.hs b/src/Dodge/Path.hs index 2130b4581..d3409cd04 100644 --- a/src/Dodge/Path.hs +++ b/src/Dodge/Path.hs @@ -21,7 +21,7 @@ import Data.Foldable import Control.Lens import Data.Maybe import Data.List ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM import Data.Graph.Inductive hiding ((&)) import qualified Data.Set as Set import Data.Set (Set) diff --git a/src/Dodge/Path.hs.orig b/src/Dodge/Path.hs.orig index 3357d59e8..ecadf0ef6 100644 --- a/src/Dodge/Path.hs.orig +++ b/src/Dodge/Path.hs.orig @@ -26,7 +26,7 @@ import Geometry import Control.Lens import Data.Maybe import Data.List ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM import Data.Graph.Inductive hiding ((&)) import Data.Set (Set) import qualified Data.Set as Set diff --git a/src/Dodge/Placement/Instance/Door.hs b/src/Dodge/Placement/Instance/Door.hs index 156163f5c..f6ac97e1c 100644 --- a/src/Dodge/Placement/Instance/Door.hs +++ b/src/Dodge/Placement/Instance/Door.hs @@ -13,7 +13,7 @@ import Dodge.Creature.Test import Dodge.LevelGen.Switch import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM putDoubleDoor :: EdgeObstacle -> Wall -> (World -> Bool) -> Point2 -> Point2 -> Float -> Placement putDoubleDoor eo wl cond a b speed diff --git a/src/Dodge/Placement/Instance/LightSource/Flicker.hs b/src/Dodge/Placement/Instance/LightSource/Flicker.hs index 82266648d..04d0c43f9 100644 --- a/src/Dodge/Placement/Instance/LightSource/Flicker.hs +++ b/src/Dodge/Placement/Instance/LightSource/Flicker.hs @@ -1,7 +1,7 @@ module Dodge.Placement.Instance.LightSource.Flicker where import Dodge.LevelGen.Data import Dodge.Data -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Data.Maybe import Control.Lens import System.Random diff --git a/src/Dodge/RadarSweep.hs b/src/Dodge/RadarSweep.hs index 3422ac0e3..9ad54c526 100644 --- a/src/Dodge/RadarSweep.hs +++ b/src/Dodge/RadarSweep.hs @@ -5,7 +5,7 @@ import Color import Geometry import LensHelp -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Streaming.Prelude as S aRadarPulse :: Object -> Creature -> World -> World diff --git a/src/Dodge/Render/HUD.hs b/src/Dodge/Render/HUD.hs index dcd6cb425..c77b0d9e3 100644 --- a/src/Dodge/Render/HUD.hs +++ b/src/Dodge/Render/HUD.hs @@ -21,7 +21,7 @@ import ListHelp import qualified Data.Vector as V --import Data.Foldable import Data.Maybe -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map.Strict as M --import qualified Data.Set as S --import qualified Data.IntSet as IS diff --git a/src/Dodge/Render/Lights.hs b/src/Dodge/Render/Lights.hs index 1ad46a1b6..62f751aa6 100644 --- a/src/Dodge/Render/Lights.hs +++ b/src/Dodge/Render/Lights.hs @@ -6,7 +6,7 @@ import Dodge.Data import Geometry import Data.Maybe -import qualified Data.IntMap.Lazy as IM +import qualified IntMapHelp as IM lightsToRender :: Configuration -> World -> [(Point3,Float,Point3)] lightsToRender cfig w = mapMaybe getLS (IM.elems $ _lightSources w) diff --git a/src/Dodge/Render/ShapePicture.hs b/src/Dodge/Render/ShapePicture.hs index 9c25ed8b8..4e43c9238 100644 --- a/src/Dodge/Render/ShapePicture.hs +++ b/src/Dodge/Render/ShapePicture.hs @@ -39,7 +39,7 @@ import ShortShow import Polyhedra import StreamingHelp -import qualified Data.IntMap.Strict as IM -- Lazy? +import qualified IntMapHelp as IM -- Lazy? import qualified Data.Map.Strict as M import Control.Lens import Data.Maybe diff --git a/src/Dodge/Render/ShapePicture.hs.orig b/src/Dodge/Render/ShapePicture.hs.orig index 423a191d3..97569e3f4 100644 --- a/src/Dodge/Render/ShapePicture.hs.orig +++ b/src/Dodge/Render/ShapePicture.hs.orig @@ -28,7 +28,7 @@ import Geometry.ConvexPoly --import Dodge.Base.Collide --import Data.Foldable -import qualified Data.IntMap.Strict as IM -- Lazy? +import qualified IntMapHelp as IM -- Lazy? import qualified Data.Map.Strict as M --import qualified Data.Set as Set import Control.Lens diff --git a/src/Dodge/Render/Walls.hs b/src/Dodge/Render/Walls.hs index f3621cde6..52e118ea0 100644 --- a/src/Dodge/Render/Walls.hs +++ b/src/Dodge/Render/Walls.hs @@ -12,7 +12,7 @@ import Control.Lens import qualified Control.Foldl as L import qualified Streaming.Prelude as S --import Data.List ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM wallsToDraw :: World -> ( [((Point2,Point2),Point4)] ,[((Point2,Point2),Point4)], SPic ) diff --git a/src/Dodge/Room/Airlock.hs b/src/Dodge/Room/Airlock.hs index 49980bd8f..6f0908150 100644 --- a/src/Dodge/Room/Airlock.hs +++ b/src/Dodge/Room/Airlock.hs @@ -14,7 +14,7 @@ import Geometry import Picture --import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM {- | A passage with a switch that opens forward access while closing backwards access. -} airlock :: RandomGen g => State g Room airlock = takeOne [airlock0,airlock90,airlockCrystal,airlockZ] diff --git a/src/Dodge/Room/Door.hs b/src/Dodge/Room/Door.hs index 2c3d88ef5..257884b24 100644 --- a/src/Dodge/Room/Door.hs +++ b/src/Dodge/Room/Door.hs @@ -10,7 +10,7 @@ import Dodge.Placement.Instance import Color import Data.Maybe -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM --import Control.Lens door :: Room diff --git a/src/Dodge/Room/LongDoor.hs b/src/Dodge/Room/LongDoor.hs index 9576d94dc..86112ea46 100644 --- a/src/Dodge/Room/LongDoor.hs +++ b/src/Dodge/Room/LongDoor.hs @@ -30,7 +30,7 @@ import LensHelp import qualified Data.Set as S import Data.Maybe --import Data.Tree -import qualified Data.IntMap as IM +import qualified IntMapHelp as IM twinSlowDoorRoom :: Float -- ^ Half width diff --git a/src/Dodge/Room/Procedural.hs b/src/Dodge/Room/Procedural.hs index e5998f5c6..f35a4aab8 100644 --- a/src/Dodge/Room/Procedural.hs +++ b/src/Dodge/Room/Procedural.hs @@ -34,7 +34,7 @@ import Data.Tile import LensHelp import qualified Data.Set as S -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM --import Control.Lens -- This will need a cleanup, but it might change a bit first {- A simple rectangular room with a light in the center. diff --git a/src/Dodge/Room/Start.hs b/src/Dodge/Room/Start.hs index 02a95bc2c..8c954d54d 100644 --- a/src/Dodge/Room/Start.hs +++ b/src/Dodge/Room/Start.hs @@ -31,7 +31,7 @@ import LensHelp --import Data.Maybe --import Data.Tree ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM powerFakeout' :: RandomGen g => State g (MetaTree Room String) powerFakeout' = tToBTree "powerFakeout'" <$> powerFakeout diff --git a/src/Dodge/SoundLogic/LoadSound.hs b/src/Dodge/SoundLogic/LoadSound.hs index 4bd225faf..9b558d9c6 100644 --- a/src/Dodge/SoundLogic/LoadSound.hs +++ b/src/Dodge/SoundLogic/LoadSound.hs @@ -5,7 +5,7 @@ module Dodge.SoundLogic.LoadSound --import Sound.Data import Dodge.SoundLogic.ExternallyGeneratedSounds -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified SDL.Mixer as Mix loadSound :: (Int,String) -> IO (Int, Mix.Chunk) diff --git a/src/Dodge/Spark.hs b/src/Dodge/Spark.hs index ec2a5a567..2596544dc 100644 --- a/src/Dodge/Spark.hs +++ b/src/Dodge/Spark.hs @@ -12,7 +12,7 @@ import Geometry import LensHelp import Color -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Monad.State import System.Random diff --git a/src/Dodge/Terminal.hs b/src/Dodge/Terminal.hs index 726c7544f..00845babe 100644 --- a/src/Dodge/Terminal.hs +++ b/src/Dodge/Terminal.hs @@ -14,7 +14,7 @@ import Data.Char import Data.Maybe import Data.Foldable import qualified Data.Map.Strict as M -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Text as T --import Text.Read diff --git a/src/Dodge/Tesla/Arc.hs b/src/Dodge/Tesla/Arc.hs index 6bbd00936..4de475cba 100644 --- a/src/Dodge/Tesla/Arc.hs +++ b/src/Dodge/Tesla/Arc.hs @@ -26,11 +26,11 @@ import Dodge.ArcStep --import Dodge.Base.Collide --import Shape ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM --import Data.List (sortOn) import MonadHelp import Data.Maybe ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM aTeslaArcAt :: Color -> [ArcStep] -> Particle aTeslaArcAt col thearc = PtTeslaArc diff --git a/src/Dodge/Tesla/Arc/Default.hs b/src/Dodge/Tesla/Arc/Default.hs index 3c3a27c5f..c4f798591 100644 --- a/src/Dodge/Tesla/Arc/Default.hs +++ b/src/Dodge/Tesla/Arc/Default.hs @@ -8,7 +8,7 @@ import Shape import Data.Maybe import Data.List (sortOn) -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM defaultArcStep :: RandomGen g => ItemParams -> World -> ArcStep -> State g (Maybe ArcStep) diff --git a/src/Dodge/Update.hs b/src/Dodge/Update.hs index 98e5bdce2..0d5b16928 100644 --- a/src/Dodge/Update.hs +++ b/src/Dodge/Update.hs @@ -36,7 +36,7 @@ import FoldableHelp import Data.List import Data.Maybe -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map.Strict as M import Control.Applicative import qualified Streaming.Prelude as S diff --git a/src/Dodge/Update/Camera.hs b/src/Dodge/Update/Camera.hs index f2164928a..c4d8d9d11 100644 --- a/src/Dodge/Update/Camera.hs +++ b/src/Dodge/Update/Camera.hs @@ -25,7 +25,7 @@ import qualified Data.Map.Strict as M import Data.Maybe import Control.Monad import qualified Data.Set as Set -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified SDL --import Data.Monoid --import Data.Semigroup diff --git a/src/Dodge/Update/WallDamage.hs b/src/Dodge/Update/WallDamage.hs index 22f969007..9ebb11d46 100644 --- a/src/Dodge/Update/WallDamage.hs +++ b/src/Dodge/Update/WallDamage.hs @@ -2,7 +2,7 @@ module Dodge.Update.WallDamage where import Dodge.Wall.Damage import Dodge.Data -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens import Data.Maybe diff --git a/src/Dodge/Wall/Delete.hs b/src/Dodge/Wall/Delete.hs index 1ffd702c7..c43a879d9 100644 --- a/src/Dodge/Wall/Delete.hs +++ b/src/Dodge/Wall/Delete.hs @@ -6,7 +6,7 @@ import Dodge.Data import Dodge.Wall.Zone import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.IntSet as IS deleteWallID :: Int -> World -> World diff --git a/src/Dodge/Wall/Move.hs b/src/Dodge/Wall/Move.hs index b727c809a..f1a92335c 100644 --- a/src/Dodge/Wall/Move.hs +++ b/src/Dodge/Wall/Move.hs @@ -14,7 +14,7 @@ import Dodge.Wall.Zone import Data.Maybe import Control.Lens -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM moveWallIDUnsafe :: Int -> (Point2,Point2) -> World -> World moveWallIDUnsafe wlid wlline w = case w ^? walls . ix wlid of diff --git a/src/Dodge/Wall/Zone.hs b/src/Dodge/Wall/Zone.hs index f0035fd7e..831cd9308 100644 --- a/src/Dodge/Wall/Zone.hs +++ b/src/Dodge/Wall/Zone.hs @@ -3,7 +3,7 @@ module Dodge.Wall.Zone import Dodge.Data import Dodge.Zone -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Control.Lens --import Data.Foldable --import Streaming diff --git a/src/Dodge/WallCreatureCollisions.hs b/src/Dodge/WallCreatureCollisions.hs index a49a2d298..11adfd462 100644 --- a/src/Dodge/WallCreatureCollisions.hs +++ b/src/Dodge/WallCreatureCollisions.hs @@ -16,7 +16,7 @@ import Data.Monoid import Data.Maybe import Data.Function import Control.Lens ---import qualified Data.IntMap.Strict as IM +--import qualified IntMapHelp as IM import qualified Streaming.Prelude as S diff --git a/src/Dodge/Wire.hs b/src/Dodge/Wire.hs index e14e8bda9..24aa30493 100644 --- a/src/Dodge/Wire.hs +++ b/src/Dodge/Wire.hs @@ -9,7 +9,7 @@ import Shape import Color import Dodge.Room.Foreground -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM floorWire :: Point2 -> Point2 -> ForegroundShape floorWire a b = defaultForeground diff --git a/src/Dodge/WorldEvent/Shockwave.hs b/src/Dodge/WorldEvent/Shockwave.hs index 0915f55cf..7235ac114 100644 --- a/src/Dodge/WorldEvent/Shockwave.hs +++ b/src/Dodge/WorldEvent/Shockwave.hs @@ -13,7 +13,7 @@ import Picture import LensHelp --import Data.Foldable -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Streaming.Prelude as S -- currently very effective against walls makeShockwaveAt diff --git a/src/Dodge/Zone/Update.hs b/src/Dodge/Zone/Update.hs index 3b8cc4b7e..82892e880 100644 --- a/src/Dodge/Zone/Update.hs +++ b/src/Dodge/Zone/Update.hs @@ -4,7 +4,7 @@ module Dodge.Zone.Update import Dodge.Data.Zoning import StreamingHelp import qualified Streaming.Prelude as S -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import Geometry import LensHelp diff --git a/src/IntMapHelp.hs b/src/IntMapHelp.hs index c68985086..3e62b2994 100644 --- a/src/IntMapHelp.hs +++ b/src/IntMapHelp.hs @@ -1,5 +1,6 @@ +{-# OPTIONS_GHC -Wno-unused-imports #-} module IntMapHelp - ( module Data.IntMap.Strict + ( module Data.Strict.IntMap , newKey , insertNewKey , insertWithNewKeys @@ -9,7 +10,8 @@ module IntMapHelp ) where import LensHelp --import Data.List hiding (foldr,insert) -import Data.IntMap.Strict +import Data.Strict.IntMap +import Data.Strict.Containers.Lens {- | Find a key value one higher than any key in the map, or zero if the map is - empty -} newKey :: IntMap a -> Int diff --git a/src/Multiset.hs b/src/Multiset.hs index eab305df6..8d4fb04b8 100644 --- a/src/Multiset.hs +++ b/src/Multiset.hs @@ -1,7 +1,7 @@ {-# LANGUAGE TupleSections #-} module Multiset where import qualified Data.Map.Strict as M -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.IntSet as IS import Control.Monad diff --git a/src/Music.hs b/src/Music.hs index 651899745..6889c8107 100644 --- a/src/Music.hs +++ b/src/Music.hs @@ -2,7 +2,7 @@ module Music ( MusicData (..) ) where import qualified SDL.Mixer as Mix -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM newtype MusicData = MusicData { _loadedMusic :: IM.IntMap Mix.Music diff --git a/src/Sound.hs b/src/Sound.hs index 358e9ddc4..0fa3a39a7 100644 --- a/src/Sound.hs +++ b/src/Sound.hs @@ -24,7 +24,7 @@ import Sound.Data import qualified SDL.Mixer as Mix import Data.Maybe -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM import qualified Data.Map as M import qualified Streaming.Prelude as S import Control.Monad diff --git a/src/Sound/Data.hs b/src/Sound/Data.hs index 06792f58b..08f44915e 100644 --- a/src/Sound/Data.hs +++ b/src/Sound/Data.hs @@ -2,7 +2,7 @@ module Sound.Data where import qualified SDL.Mixer as Mix -import qualified Data.IntMap.Strict as IM +import qualified IntMapHelp as IM --import qualified Data.Map.Strict as M import Control.Lens import Geometry.Data diff --git a/stack.yaml b/stack.yaml index b5e08deb4..06ed85354 100644 --- a/stack.yaml +++ b/stack.yaml @@ -40,6 +40,8 @@ extra-deps: #- SDL-0.6.7.0@sha256:9d6ba75c0cab575ec38468c8277803983e985f9622437aeca6a53e6a7337a7d5,2045 - sdl2-mixer-1.2.0.0@sha256:6a6b5a46c035c9e77eaf9c244e45de9e4a9b9a110890cfeeb9fa72faa2419cef,4497 - repa-3.4.1.5@sha256:4d94845e66d668345130f75f5de8f7c69139b91495c8c4b5a825014e8985e2fd,3562 +- strict-containers-0.1@sha256:d751696a8a74e368cf778cf98410b43fcd192d68febd4c691faaac1d6c3ab63f,10591 +- strict-containers-lens-0.1@sha256:97c0e68e2e23578074d41fa45690a9ff7b1d47057ea6635d863af99f0daa2f9d,1103 #- repa-3.4.1.4@sha256:5a99bde69fe96a18d70aae23f47c8f719b1134558dca3ee5a7c15423b68a132e,3323 #- sdl2-mixer-1.1.0@sha256:c809aecd91ebf9c759af66eebaa4f45f766f2603c13a73412abfd0bd1e02071a,3067 # # for threadscope