Safe Haskell | None |
---|---|

Language | Haskell2010 |

## Synopsis

- type family HKD f a where ...
- data UKey
- zeroUKey :: UKey
- smallerUKey :: UKey -> UKey
- largerUKey :: UKey -> UKey
- betweenUKey :: UKey -> UKey -> UKey
- type Collection t s f = t (HKD f s)
- type HKCollection t s f = t (HKD f (s f))
- collectionWindow :: (Functor t, Foldable t) => ReactId -> Window (t (Subject s)) ()
- deleteCollectionItem :: (MonadReactor p allS cmd m, Ord k) => k -> ModelState (Map k (Subject s)) (m ())
- insertCollectionItem :: (MonadReactor p allS cmd m, Ord k) => k -> Subject s -> ModelState (Map k (Subject s)) (m ())

# Documentation

A key where you can always create another key ordered between two different keys, or another key above or below this key. Memonic: U for uncountable https://en.wikipedia.org/wiki/Uncountable_set

smallerUKey :: UKey -> UKey Source #

Create a key smaller than the input key.

largerUKey :: UKey -> UKey Source #

Create a key larger than the input key.

betweenUKey :: UKey -> UKey -> UKey Source #

Make a key that will fit in between the two provided keys, with no guarantees on how close it is to the mid point. Except when the inputs are equal, then it will return the same key.

# Collection

type Collection t s f = t (HKD f s) Source #

Collection of higher kinded data

type HKCollection t s f = t (HKD f (s f)) Source #

Collection of higher kinded "higher kinded data"

collectionWindow :: (Functor t, Foldable t) => ReactId -> Window (t (Subject s)) () Source #

Collection doesn't have an initializing gadget since
the `Subject`

s in the model are all initialized via `addSubject`

.

deleteCollectionItem :: (MonadReactor p allS cmd m, Ord k) => k -> ModelState (Map k (Subject s)) (m ()) Source #

insertCollectionItem :: (MonadReactor p allS cmd m, Ord k) => k -> Subject s -> ModelState (Map k (Subject s)) (m ()) Source #