discrete-space-map-0.0.2: A discrete space map.

Safe HaskellSafe-Inferred

Data.DiscreteSpaceMap.Internal

Synopsis

Documentation

class Eq p => Pos p whereSource

To be a key in the map, a position needs to be convertible to and from a stream of bits.

Methods

uncons :: p -> (p, Bool)Source

cons :: (p, Bool) -> pSource

 cons . uncons == id 

zero :: pSource

 uncons zero == (zero, False)

Instances

Pos Integer

1D discrete space

Pos [Bool]

[Bool] is the free instance of Pos.

Pos p => Pos (p, p)

2D discrete space

Pos p => Pos (p, p, p)

3D discrete space

data MapD a Source

Constructors

MapD a (MapD (a, a)) 

gotoD :: Pos p => p -> p -> (a, MapD a) -> (a, MapD a)Source

tabulateD :: Pos p => (p -> a) -> MapD aSource

zipWithKeyD :: Pos p => (p -> a -> b -> c) -> p -> MapD a -> MapD b -> MapD cSource

traverseWithKey1D :: (Pos p, Apply f) => (p -> a -> f b) -> p -> MapD a -> f (MapD b)Source