packages feed

crem-0.1.1.0: examples/Crem/Example/Cart/Application.hs

module Crem.Example.Cart.Application where

import Crem.Example.Cart.Aggregate
import Crem.Example.Cart.Domain
import Crem.Example.Cart.Policy
import Crem.Example.Cart.Projection
import Crem.StateMachine

writeModel :: StateMachine CartCommand [CartEvent]
writeModel = Feedback cart paymentGateway

application :: StateMachine CartCommand [CartView]
application = Kleisli writeModel paymentStatus