cqrs-0.1.0: src/Data/CQRS/Event.hs
-- | Event type class. All events that can be applied to aggregate roots
-- are required have an instance for this class.
module Data.CQRS.Event
( Event(..)
) where
-- | Event class for applying events to aggregates.
class Event e a | e -> a where
-- | Apply an event to the aggregate and return the updated aggregate.
applyEvent :: e -> a -> a