experimenter-0.1.0.0: src/Experimenter/Input.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE UndecidableInstances #-}
module Experimenter.Input where
import Control.DeepSeq
import Control.Lens
import Experimenter.Experiment
data Input a = Input
{ _inputValuePeriod :: !Int
, _inputValue :: !(InputValue a)
}
instance NFData (InputValue a) => NFData (Input a) where
rnf (Input p v) = rnf p `seq` rnf v
makeLenses ''Input