Safe Haskell  None 

Language  Haskell2010 
 data EventStore e = EventStore {
 esStoreEvents :: UUID > [PersistedEvent e] > IO ()
 esRetrieveEvents :: forall a. UUID > Int > (InputStream (PersistedEvent e) > IO a) > IO a
 esRetrieveAllEvents :: forall a. (InputStream (UUID, PersistedEvent e) > IO a) > IO a
 data StoreError = VersionConflict UUID
 applyIso :: forall e' e. (e' > e, e > e') > EventStore e > EventStore e'
Documentation
data EventStore e Source
EventStore for events of type e.
EventStore  

data StoreError Source
Errors that can happen during esStoreEvents
.
applyIso :: forall e' e. (e' > e, e > e') > EventStore e > EventStore e' Source
Transform an implementation of 'EventStore a' to an implementation of 'EventStore b' via an isomorphism. This can be used to add serialization/deserialization to event stores which do not support storing anything other than binary data.