| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
SizedGrid.Grid.Class
Synopsis
- class IsGrid cs grid | grid -> cs where
Documentation
class IsGrid cs grid | grid -> cs where Source #
Conversion between Grid and FocusedGrid and access grids at a Coord
Minimal complete definition
Methods
gridIndex :: Coord cs -> Lens' (grid a) a Source #
Get the element at a grid location. This is a lens because we know it must exist
asGrid :: Lens' (grid a) (Grid cs a) Source #
Convert to, or run a function over, a Grid
asFocusedGrid :: Lens' (grid a) (FocusedGrid cs a) Source #
Convert to, or run a function over, a FocusedGrid
Instances
| (KnownNat (MaxCoordSize cs), All IsCoord cs, All Monoid cs, All Semigroup cs) => IsGrid cs (FocusedGrid cs) Source # | |
Defined in SizedGrid.Grid.Class Methods gridIndex :: Coord cs -> Lens' (FocusedGrid cs a) a Source # asGrid :: Functor f => (Grid cs a -> f (Grid cs a)) -> FocusedGrid cs a -> f (FocusedGrid cs a) Source # asFocusedGrid :: Functor f => (FocusedGrid cs a -> f (FocusedGrid cs a)) -> FocusedGrid cs a -> f (FocusedGrid cs a) Source # | |
| (KnownNat (MaxCoordSize cs), All Semigroup cs, All Monoid cs, All IsCoord cs) => IsGrid cs (Grid cs) Source # | |