Safe Haskell | None |
---|---|
Language | Haskell2010 |
Common internal things (no other internal deps)
- type Data k = (Eq k, Hashable k, Show k, Typeable k)
- (<&>) :: Functor f => f a -> (a -> b) -> f b
- data MissingKeyError k = MissingKeyError k
- data DuplicateKeyError k = DuplicateKeyError k
- data ColSizeMismatch = ColSizeMismatch Int Int
- data RowSizeMismatch = RowSizeMismatch Int Int
- checkForDupes :: (Data k, MonadThrow m) => Vector k -> m ()
- checkReorder :: (Data k, MonadThrow m) => Vector k -> Vector k -> m ()
- checkSubset :: (Data k, MonadThrow m) => [k] -> HashSet k -> m ()
- makeLookup :: Data k => Vector k -> HashMap k Int
- runLookup :: (Data k, MonadThrow m) => HashMap k Int -> Vector v -> k -> m v
- reorder :: Data k => Vector k -> HashMap k Int -> Vector v -> Vector v
- mergeKeys :: Data k => Vector k -> Vector k -> Vector (k, Int, Int)
- runIndexedLookup :: Vector (k, Int, Int) -> Vector v -> Vector v -> Vector v
Documentation
type Data k = (Eq k, Hashable k, Show k, Typeable k) Source #
Column keys need to have equality and hashability.
data MissingKeyError k Source #
Exception for when a column is missing from a frame.
data DuplicateKeyError k Source #
Exception for when a column is duplicated in a frame.
data ColSizeMismatch Source #
Exception for when frame column sizes don't match.
data RowSizeMismatch Source #
Exception for when frame row sizes don't match.
checkForDupes :: (Data k, MonadThrow m) => Vector k -> m () Source #
Throws when duplicate keys are present in a vector.
checkReorder :: (Data k, MonadThrow m) => Vector k -> Vector k -> m () Source #
Throws when one vector is not a reordering of the other.
checkSubset :: (Data k, MonadThrow m) => [k] -> HashSet k -> m () Source #
Throws when any key is not present in the set.
runLookup :: (Data k, MonadThrow m) => HashMap k Int -> Vector v -> k -> m v Source #
Indexes into the vector of values, throwing on key missing or bad index.
reorder :: Data k => Vector k -> HashMap k Int -> Vector v -> Vector v Source #
Reorders the vector of values by a new key order and an old lookup.