cleveland-0.1.0: src/Test/Cleveland/Lorentz/Consumer.hs
-- SPDX-FileCopyrightText: 2020 Tocqueville Group
--
-- SPDX-License-Identifier: LicenseRef-MIT-TQ
-- | Contract which remembers all parameters it has been called with.
--
-- Useful to save return values of @View_@ entry points.
module Test.Cleveland.Lorentz.Consumer
( contractConsumer
) where
import Lorentz.Base
import Lorentz.Constraints
import Lorentz.Instr
import Lorentz.Run
-- | Remembers parameters it was called with, last goes first.
contractConsumer :: (NiceParameterFull cp, NiceStorage cp) => Contract cp [cp] ()
contractConsumer = defaultContract $
unpair # cons # nil # pair