Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
DataStore that can be defined for each datastore needed to be used.
Fetch the value stored in the DataStore
Save a value into the DataStore
The first argument depends on the instance. It may be "empty" or it could be a pointer to a storage location.
empty :: TaskUUID -> JobUUID -> IO (f a) #
Returns a new empty store
Instances
DataStore Var a # | |
DataStore (FileStore :: Type -> Type) String # | You are able to write a String to a FileStore. |
(ToNamedRecord a, FromNamedRecord a, DefaultOrdered a) => DataStore (NamedCSVStore :: Type -> Type) [a] # | A list of any type can be wrote to a CSV as long as it has a |
Defined in Pipeline.DataStore fetch :: NamedCSVStore [a] -> IO [a] # save :: NamedCSVStore [a] -> [a] -> IO () # | |
(ToRecord a, FromRecord a) => DataStore (CSVStore :: Type -> Type) [a] # | A list of any type can be wrote to a CSV as long as it has a |
DataStore (FileStore :: Type -> Type) [String] # | It is possible to write a list of strings to a |
class DataStore' (fs :: [Type -> Type]) (as :: [Type]) where #
When tasks require multiple inputs, they also require a joint DataStore. This class provides this ability.
A user does not need to define instances of this class, however it is useful when defining your own tasks.
fetch' :: HList' fs as -> IO (HList as) #
Fetch the value stored in the DataStore'
save' :: HList' fs as -> HList as -> IO () #
Save a value into the DataStore'
The first argument depends on the instance. It may be "empty" or it could be a pointer to a storage location.
Instances
(DataStore f a, DataStore' fs as, Eq a, Eq (f a)) => DataStore' (f ': fs) (a ': as) # | |
(DataStore f a, Eq a, Eq (f a)) => DataStore' '[f] '[a] # | |
Simple in memory variable store, and unmutable.