grid 7.1 → 7.3
raw patch · 8 files changed
+57/−36 lines, 8 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_0HexDirection
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_0HexHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_0ParaHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_0UnboundedHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_1HexDirection
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_2HexDirection
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_3HexDirection
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_4HexDirection
+ Math.Geometry.Grid.HexagonalInternal: instance Constructor C1_5HexDirection
+ Math.Geometry.Grid.HexagonalInternal: instance Datatype D1HexDirection
+ Math.Geometry.Grid.HexagonalInternal: instance Datatype D1HexHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Datatype D1ParaHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Datatype D1UnboundedHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Eq UnboundedHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Generic HexDirection
+ Math.Geometry.Grid.HexagonalInternal: instance Generic HexHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Generic ParaHexGrid
+ Math.Geometry.Grid.HexagonalInternal: instance Generic UnboundedHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_0HexDirection
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_0HexHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_0RectHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_0UnboundedHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_1HexDirection
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_2HexDirection
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_3HexDirection
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_4HexDirection
+ Math.Geometry.Grid.HexagonalInternal2: instance Constructor C1_5HexDirection
+ Math.Geometry.Grid.HexagonalInternal2: instance Datatype D1HexDirection
+ Math.Geometry.Grid.HexagonalInternal2: instance Datatype D1HexHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Datatype D1RectHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Datatype D1UnboundedHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Eq UnboundedHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Generic HexDirection
+ Math.Geometry.Grid.HexagonalInternal2: instance Generic HexHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Generic RectHexGrid
+ Math.Geometry.Grid.HexagonalInternal2: instance Generic UnboundedHexGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_0OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_0RectOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_0TorOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_0UnboundedOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_1OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_2OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_3OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_4OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_5OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_6OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Constructor C1_7OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Datatype D1OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Datatype D1RectOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Datatype D1TorOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Datatype D1UnboundedOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Eq UnboundedOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Generic OctDirection
+ Math.Geometry.Grid.OctagonalInternal: instance Generic RectOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Generic TorOctGrid
+ Math.Geometry.Grid.OctagonalInternal: instance Generic UnboundedOctGrid
+ Math.Geometry.Grid.SquareInternal: instance Constructor C1_0RectSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Constructor C1_0TorSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Constructor C1_0UnboundedSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Datatype D1RectSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Datatype D1TorSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Datatype D1UnboundedSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Eq UnboundedSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Generic RectSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Generic TorSquareGrid
+ Math.Geometry.Grid.SquareInternal: instance Generic UnboundedSquareGrid
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_0ParaTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_0RectTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_0TorTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_0TriDirection
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_0TriTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_0UnboundedTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_0XCylTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_0YCylTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_1TriDirection
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_2TriDirection
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_3TriDirection
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_4TriDirection
+ Math.Geometry.Grid.TriangularInternal: instance Constructor C1_5TriDirection
+ Math.Geometry.Grid.TriangularInternal: instance Datatype D1ParaTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Datatype D1RectTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Datatype D1TorTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Datatype D1TriDirection
+ Math.Geometry.Grid.TriangularInternal: instance Datatype D1TriTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Datatype D1UnboundedTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Datatype D1XCylTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Datatype D1YCylTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Eq UnboundedTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Generic ParaTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Generic RectTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Generic TorTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Generic TriDirection
+ Math.Geometry.Grid.TriangularInternal: instance Generic TriTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Generic UnboundedTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Generic XCylTriGrid
+ Math.Geometry.Grid.TriangularInternal: instance Generic YCylTriGrid
+ Math.Geometry.GridMap.Lazy: instance Constructor C1_0LGridMap
+ Math.Geometry.GridMap.Lazy: instance Datatype D1LGridMap
+ Math.Geometry.GridMap.Lazy: instance Generic (LGridMap g v)
+ Math.Geometry.GridMap.Lazy: instance Selector S1_0_0LGridMap
+ Math.Geometry.GridMap.Lazy: instance Selector S1_0_1LGridMap
Files
- grid.cabal +1/−1
- src/Math/Geometry/Grid/HexagonalInternal.hs +8/−6
- src/Math/Geometry/Grid/HexagonalInternal2.hs +7/−5
- src/Math/Geometry/Grid/OctagonalInternal.hs +9/−5
- src/Math/Geometry/Grid/SquareInternal.hs +11/−6
- src/Math/Geometry/Grid/TriangularInternal.hs +17/−10
- src/Math/Geometry/GridMap.hs +1/−2
- src/Math/Geometry/GridMap/Lazy.hs +3/−1
grid.cabal view
@@ -1,5 +1,5 @@ name: grid-version: 7.1+version: 7.3 synopsis: Tools for working with regular grids (graphs, lattices). description: Provides tools for working with regular arrangements of tiles, such as might be used in a board game or some
src/Math/Geometry/Grid/HexagonalInternal.hs view
@@ -1,7 +1,7 @@ ------------------------------------------------------------------------ -- | -- Module : Math.Geometry.HexGridInternal--- Copyright : (c) Amy de Buitléir 2012+-- Copyright : (c) Amy de Buitléir 2012-2013 -- License : BSD-style -- Maintainer : amy@nualeargais.ie -- Stability : experimental@@ -12,7 +12,7 @@ -- without notice. -- -------------------------------------------------------------------------{-# LANGUAGE TypeFamilies, FlexibleContexts #-}+{-# LANGUAGE TypeFamilies, FlexibleContexts, DeriveGeneric #-} module Math.Geometry.Grid.HexagonalInternal where @@ -20,15 +20,16 @@ import Data.Function (on) import Data.List (groupBy, sortBy) import Data.Ord (comparing)+import GHC.Generics (Generic) import Math.Geometry.GridInternal data HexDirection = West | Northwest | Northeast | East | Southeast | - Southwest deriving (Show, Eq)+ Southwest deriving (Show, Eq, Generic) -- | An unbounded grid with hexagonal tiles -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data UnboundedHexGrid = UnboundedHexGrid deriving Show+data UnboundedHexGrid = UnboundedHexGrid deriving (Show, Eq, Generic) instance Grid UnboundedHexGrid where type Index UnboundedHexGrid = (Int, Int)@@ -63,7 +64,7 @@ -- | A hexagonal grid with hexagonal tiles -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data HexHexGrid = HexHexGrid Int [(Int, Int)] deriving Eq+data HexHexGrid = HexHexGrid Int [(Int, Int)] deriving (Eq, Generic) instance Show HexHexGrid where show (HexHexGrid s _) = "hexHexGrid " ++ show s @@ -113,7 +114,8 @@ -- | A parallelogramatical grid with hexagonal tiles -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data ParaHexGrid = ParaHexGrid (Int, Int) [(Int, Int)] deriving Eq+data ParaHexGrid = ParaHexGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show ParaHexGrid where show (ParaHexGrid (r,c) _) = "paraHexGrid " ++ show r ++ " " ++ show c
src/Math/Geometry/Grid/HexagonalInternal2.hs view
@@ -12,20 +12,21 @@ -- without notice. -- -------------------------------------------------------------------------{-# LANGUAGE TypeFamilies, FlexibleContexts #-}+{-# LANGUAGE TypeFamilies, FlexibleContexts, DeriveGeneric #-} module Math.Geometry.Grid.HexagonalInternal2 where import Prelude hiding (null)+import GHC.Generics (Generic) import Math.Geometry.GridInternal data HexDirection = Northwest | North | Northeast | Southeast | South |- Southwest deriving (Show, Eq)+ Southwest deriving (Show, Eq, Generic) -- | An unbounded grid with hexagonal tiles -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data UnboundedHexGrid = UnboundedHexGrid deriving Show+data UnboundedHexGrid = UnboundedHexGrid deriving (Eq, Show, Generic) instance Grid UnboundedHexGrid where type Index UnboundedHexGrid = (Int, Int)@@ -60,7 +61,7 @@ -- | A hexagonal grid with hexagonal tiles -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data HexHexGrid = HexHexGrid Int [(Int, Int)] deriving Eq+data HexHexGrid = HexHexGrid Int [(Int, Int)] deriving (Eq, Generic) instance Show HexHexGrid where show (HexHexGrid s _) = "hexHexGrid " ++ show s @@ -110,7 +111,8 @@ -- | A rectangular grid with hexagonal tiles -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data RectHexGrid = RectHexGrid (Int, Int) [(Int, Int)] deriving Eq+data RectHexGrid = RectHexGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show RectHexGrid where show (RectHexGrid (r,c) _) = "rectHexGrid " ++ show r ++ " " ++ show c
src/Math/Geometry/Grid/OctagonalInternal.hs view
@@ -12,22 +12,24 @@ -- without notice. -- -------------------------------------------------------------------------{-# LANGUAGE TypeFamilies, FlexibleContexts #-}+{-# LANGUAGE TypeFamilies, FlexibleContexts, DeriveGeneric #-} module Math.Geometry.Grid.OctagonalInternal where import Prelude hiding (null) import Data.List (nub)+import GHC.Generics (Generic) import Math.Geometry.GridInternal data OctDirection = West | Northwest | North | Northeast | East | - Southeast | South | Southwest deriving (Show, Eq)+ Southeast | South | Southwest+ deriving (Show, Eq, Generic) -- | An unbounded grid with octagonal tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data UnboundedOctGrid = UnboundedOctGrid deriving Show+data UnboundedOctGrid = UnboundedOctGrid deriving (Eq, Show, Generic) instance Grid UnboundedOctGrid where type Index UnboundedOctGrid = (Int, Int)@@ -59,7 +61,8 @@ -- | A rectangular grid with octagonal tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data RectOctGrid = RectOctGrid (Int, Int) [(Int, Int)] deriving Eq+data RectOctGrid = RectOctGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show RectOctGrid where show (RectOctGrid (r,c) _) = @@ -102,7 +105,8 @@ -- | A toroidal grid with octagonal tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data TorOctGrid = TorOctGrid (Int, Int) [(Int, Int)] deriving Eq+data TorOctGrid = TorOctGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show TorOctGrid where show (TorOctGrid (r,c) _) = "torOctGrid " ++ show r ++ " " ++ show c
src/Math/Geometry/Grid/SquareInternal.hs view
@@ -1,7 +1,7 @@ ------------------------------------------------------------------------ -- | -- Module : Math.Geometry.SquareGridInternal--- Copyright : (c) Amy de Buitléir 2012+-- Copyright : (c) Amy de Buitléir 2012-2013 -- License : BSD-style -- Maintainer : amy@nualeargais.ie -- Stability : experimental@@ -12,21 +12,24 @@ -- without notice. -- -------------------------------------------------------------------------{-# LANGUAGE TypeFamilies, FlexibleContexts #-}+{-# LANGUAGE TypeFamilies, FlexibleContexts, DeriveGeneric #-} module Math.Geometry.Grid.SquareInternal where import Prelude hiding (null) import Data.List (nub)+import GHC.Generics (Generic) import Math.Geometry.GridInternal -data SquareDirection = North | East | South | West deriving (Show, Eq)+data SquareDirection = North | East | South | West+ deriving (Show, Eq) -- | An unbounded grid with square tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data UnboundedSquareGrid = UnboundedSquareGrid deriving Show+data UnboundedSquareGrid = UnboundedSquareGrid+ deriving (Eq, Show, Generic) instance Grid UnboundedSquareGrid where type Index UnboundedSquareGrid = (Int, Int)@@ -50,7 +53,8 @@ -- | A rectangular grid with square tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data RectSquareGrid = RectSquareGrid (Int, Int) [(Int, Int)] deriving Eq+data RectSquareGrid = RectSquareGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show RectSquareGrid where show (RectSquareGrid (r,c) _) = @@ -99,7 +103,8 @@ -- | A toroidal grid with square tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data TorSquareGrid = TorSquareGrid (Int, Int) [(Int, Int)] deriving Eq+data TorSquareGrid = TorSquareGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show TorSquareGrid where show (TorSquareGrid (r,c) _) = "torSquareGrid " ++ show r ++ " " ++ show c
src/Math/Geometry/Grid/TriangularInternal.hs view
@@ -1,7 +1,7 @@ ------------------------------------------------------------------------ -- | -- Module : Math.Geometry.TriGridInternal--- Copyright : (c) Amy de Buitléir 2012+-- Copyright : (c) Amy de Buitléir 2012-2013 -- License : BSD-style -- Maintainer : amy@nualeargais.ie -- Stability : experimental@@ -12,22 +12,24 @@ -- without notice. -- -------------------------------------------------------------------------{-# LANGUAGE TypeFamilies, FlexibleContexts #-}+{-# LANGUAGE TypeFamilies, FlexibleContexts, DeriveGeneric #-} module Math.Geometry.Grid.TriangularInternal where import Prelude hiding (null) import Data.List (nub)+import GHC.Generics (Generic) import Math.Geometry.GridInternal data TriDirection = South | Northwest | Northeast | - North | Southeast | Southwest deriving (Show, Eq)+ North | Southeast | Southwest+ deriving (Show, Eq, Generic) -- | An unbounded grid with triangular tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data UnboundedTriGrid = UnboundedTriGrid deriving Show+data UnboundedTriGrid = UnboundedTriGrid deriving (Eq, Show, Generic) instance Grid UnboundedTriGrid where type Index UnboundedTriGrid = (Int, Int)@@ -69,7 +71,7 @@ -- | A triangular grid with triangular tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data TriTriGrid = TriTriGrid Int [(Int, Int)] deriving Eq+data TriTriGrid = TriTriGrid Int [(Int, Int)] deriving (Eq, Generic) instance Show TriTriGrid where show (TriTriGrid s _) = "triTriGrid " ++ show s@@ -124,7 +126,8 @@ -- | A Parallelogrammatical grid with triangular tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data ParaTriGrid = ParaTriGrid (Int, Int) [(Int, Int)] deriving Eq+data ParaTriGrid = ParaTriGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show ParaTriGrid where show (ParaTriGrid (r,c) _) = "paraTriGrid " ++ show r ++ " " ++ show c@@ -187,7 +190,8 @@ -- | A rectangular grid with triangular tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data RectTriGrid = RectTriGrid (Int, Int) [(Int, Int)] deriving Eq+data RectTriGrid = RectTriGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show RectTriGrid where show (RectTriGrid (r,c) _) = "rectTriGrid " ++ show r ++ " " ++ show c@@ -229,7 +233,8 @@ -- | A toroidal grid with triangular tiles. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data TorTriGrid = TorTriGrid (Int, Int) [(Int, Int)] deriving Eq+data TorTriGrid = TorTriGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show TorTriGrid where show (TorTriGrid (r,c) _) = "torTriGrid " ++ show r ++ " " ++ show c@@ -280,7 +285,8 @@ -- along the y-axis. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data YCylTriGrid = YCylTriGrid (Int, Int) [(Int, Int)] deriving Eq+data YCylTriGrid = YCylTriGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show YCylTriGrid where show (YCylTriGrid (r,c) _) = "yCylTriGrid " ++ show r ++ " " ++ show c@@ -325,7 +331,8 @@ -- along the x-axis. -- The grid and its indexing scheme are illustrated in the user guide, -- available at <https://github.com/mhwombat/grid/wiki>.-data XCylTriGrid = XCylTriGrid (Int, Int) [(Int, Int)] deriving Eq+data XCylTriGrid = XCylTriGrid (Int, Int) [(Int, Int)]+ deriving (Eq, Generic) instance Show XCylTriGrid where show (XCylTriGrid (r,c) _) = "yCylTriGrid " ++ show r ++ " " ++ show c
src/Math/Geometry/GridMap.hs view
@@ -13,8 +13,7 @@ -- into a single type. -- -------------------------------------------------------------------------{-# LANGUAGE TypeFamilies, FlexibleContexts, MultiParamTypeClasses,- UndecidableInstances #-}+{-# LANGUAGE TypeFamilies, FlexibleContexts, MultiParamTypeClasses #-} module Math.Geometry.GridMap (
src/Math/Geometry/GridMap/Lazy.hs view
@@ -14,7 +14,7 @@ -- ------------------------------------------------------------------------ {-# LANGUAGE TypeFamilies, FlexibleContexts, FlexibleInstances,- MultiParamTypeClasses, UndecidableInstances #-}+ MultiParamTypeClasses, UndecidableInstances, DeriveGeneric #-} module Math.Geometry.GridMap.Lazy (@@ -29,12 +29,14 @@ import qualified Data.Map as M --import qualified Data.Map.Strict as Strict (Map) import Data.Maybe (fromMaybe)+import GHC.Generics (Generic) import qualified Math.Geometry.Grid as G import Math.Geometry.GridMap -- | A map from tile positions in a grid to values. data LGridMap g v = LGridMap { lgmGrid :: g, lgmMap :: M.Map (G.Index g) v }+ deriving Generic -- | Construct a grid map which is strict in the keys (tile positions), but -- lazy in the values.