Safe Haskell | None |
---|---|
Language | Haskell98 |
Heterogenous vectors. For more info on heterogenous collections, see http://www.haskell.org/haskellwiki/Heterogenous_collections
- newtype HVector box xs = HVector {}
- vec :: (HLength (HList xs), Downcast (HList xs) box) => (a -> box) -> HList xs -> HVector box (xs :: [*])
- class View vec i ret | vec i -> ret where
- view :: vec -> i -> ret
- class (Downcast (HList xs) box, HLength (HList xs), HListBuilder (Indexer (HVector box xs)) (HList xs)) => ValidHVector box xs
- toHList :: HListBuilder (Indexer (HVector box xs)) ys => HVector box xs -> ys
- module Data.Vector.Heterogenous.HList
- module Data.Vector.Heterogenous.Unsafe
Documentation
Show box => Show (HVector k box xs) | |
(Monoid (HList xs), Downcast (HList xs) box, HLength (HList xs), HListBuilder (Indexer (HVector * box xs)) (HList xs)) => Monoid (HVector * box xs) | |
(View (Indexer (HVector k box xs)) (Empty Nat1 (ToNat1 n)) ret, KnownNat n) => View (HVector k box xs) (proxy n) ret |
vec :: (HLength (HList xs), Downcast (HList xs) box) => (a -> box) -> HList xs -> HVector box (xs :: [*]) Source
Construction helpers
class (Downcast (HList xs) box, HLength (HList xs), HListBuilder (Indexer (HVector box xs)) (HList xs)) => ValidHVector box xs Source