| Portability | GHC |
|---|---|
| Stability | experimental |
| Maintainer | emw4@rice.edu |
Data.Type.List.Map
Description
Vectors indexed by a type list
- data MapC f c where
- empty :: MapC f Nil
- singleton :: f a -> MapC f (Nil :> a)
- lookup :: Member c a -> MapC f c -> f a
- mapC :: (forall x. f x -> g x) -> MapC f c -> MapC g c
- append :: MapC f c1 -> MapC f c2 -> MapC f (c1 :++: c2)
- mkAppend :: MapC f c2 -> Append c1 c2 (c1 :++: c2)
- mkMonoAppend :: Proxy c1 -> MapC f c2 -> Append c1 c2 (c1 :++: c2)
- split :: Append c1 c2 c -> MapC f c -> (MapC f c1, MapC f c2)
- proxy :: MapC f c -> Proxy c
- members :: MapC f c -> MapC (Member c) c
Documentation
A MapC f c is a vector with exactly one element of type f a for
each type a in the type list c.
mapC :: (forall x. f x -> g x) -> MapC f c -> MapC g cSource
Map a function to all elements of a MapC vector.