Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
newtype Grid (dims :: [Nat]) a Source #
Instances
(Dimensions dims, ind ~ Coord dims) => FunctorWithIndex ind (Grid dims) Source # | |
(Dimensions dims, ind ~ Coord dims) => FoldableWithIndex ind (Grid dims) Source # | |
(Dimensions dims, ind ~ Coord dims) => TraversableWithIndex ind (Grid dims) Source # | |
Defined in Data.Grid itraverse :: Applicative f => (ind -> a -> f b) -> Grid dims a -> f (Grid dims b) # itraversed :: IndexedTraversal ind (Grid dims a) (Grid dims b) a b # | |
Functor (Grid dims) Source # | |
Dimensions dims => Applicative (Grid dims) Source # | |
Foldable (Grid dims) Source # | |
Defined in Data.Grid fold :: Monoid m => Grid dims m -> m # foldMap :: Monoid m => (a -> m) -> Grid dims a -> m # foldr :: (a -> b -> b) -> b -> Grid dims a -> b # foldr' :: (a -> b -> b) -> b -> Grid dims a -> b # foldl :: (b -> a -> b) -> b -> Grid dims a -> b # foldl' :: (b -> a -> b) -> b -> Grid dims a -> b # foldr1 :: (a -> a -> a) -> Grid dims a -> a # foldl1 :: (a -> a -> a) -> Grid dims a -> a # toList :: Grid dims a -> [a] # length :: Grid dims a -> Int # elem :: Eq a => a -> Grid dims a -> Bool # maximum :: Ord a => Grid dims a -> a # minimum :: Ord a => Grid dims a -> a # | |
Traversable (Grid dims) Source # | |
Dimensions dims => Distributive (Grid dims) Source # | |
Dimensions dims => Representable (Grid dims) Source # | |
Eq a => Eq (Grid dims a) Source # | |
(NestLists dims, Show (NestedLists dims a)) => Show (Grid dims a) Source # | |
(Dimensions dims, Semigroup a) => Semigroup (Grid dims a) Source # | |
(Dimensions dims, Monoid a) => Monoid (Grid dims a) Source # | |
type Rep (Grid dims) Source # | |
x :# y infixr 9 |
class KnownNat (GridSize dims) => Dimensions (dims :: [Nat]) where Source #
toCoord :: Proxy dims -> Finite (GridSize dims) -> Coord dims Source #
fromCoord :: Proxy dims -> Coord dims -> Finite (GridSize dims) Source #
Instances
(KnownNat (x * GridSize (y ': xs)), KnownNat x, Dimensions (y ': xs)) => Dimensions (x ': (y ': xs)) Source # | |
KnownNat x => Dimensions (x ': ([] :: [Nat])) Source # | |
class UnNestLists (dims :: [Nat]) where Source #
unNestLists :: Proxy dims -> NestedLists dims a -> [a] Source #
Instances
UnNestLists (n ': ns) => UnNestLists (m ': (n ': ns)) Source # | |
Defined in Data.Grid unNestLists :: Proxy (m ': (n ': ns)) -> NestedLists (m ': (n ': ns)) a -> [a] Source # | |
UnNestLists (n ': ([] :: [Nat])) Source # | |
Defined in Data.Grid unNestLists :: Proxy (n ': []) -> NestedLists (n ': []) a -> [a] Source # |
fromNestedLists :: forall dims a. (UnNestLists dims, Dimensions dims) => NestedLists dims a -> Maybe (Grid dims a) Source #