experimenter 0.1.0.12 → 0.1.0.14
raw patch · 11 files changed
+319/−135 lines, 11 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Experimenter.Experiment: type family InputState a :: Type;
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.Exp GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.Exp backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.ExpExecutionLock GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.ExpExecutionLock backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.ExpProgress GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.ExpProgress backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.ExpResult GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.ExpResult backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.Exps GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.Exps backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.ExpsInfoParam GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.ExpsInfoParam backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.ExpsMaster GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.ExpsMaster backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.ExpsSetup GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.ExpsSetup backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.Param GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.Param backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.ParamSetting GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.ParamSetting backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.PrepEndStatePart GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.PrepEndStatePart backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.PrepInput GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.PrepInput backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.PrepInputValue GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.PrepInputValue backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.PrepMeasure GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.PrepMeasure backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.PrepResultData GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.PrepResultData backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.PrepResultStep GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.PrepResultStep backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.PrepStartStatePart GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.PrepStartStatePart backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.RepEndStatePart GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.RepEndStatePart backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.RepInput GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.RepInput backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.RepInputValue GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.RepInputValue backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.RepMeasure GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.RepMeasure backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.RepResult GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.RepResult backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.RepResultData GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.RepResultData backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.RepResultStep GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.RepResultStep backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.RepStartStatePart GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.RepStartStatePart backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.WarmUpEndStatePart GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.WarmUpEndStatePart backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.WarmUpInput GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.WarmUpInput backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.WarmUpInputValue GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.WarmUpInputValue backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.WarmUpMeasure GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.WarmUpMeasure backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.WarmUpResultData GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.WarmUpResultData backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.WarmUpResultStep GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.WarmUpResultStep backend
- Experimenter.Models: instance (Database.Persist.Class.PersistQuery backend, Database.Persist.Class.PersistEntity.PersistEntityBackend Experimenter.Models.WarmUpStartStatePart GHC.Types.~ Database.Persist.Class.PersistStore.BaseBackend backend) => Database.Persist.Class.DeleteCascade.DeleteCascade Experimenter.Models.WarmUpStartStatePart backend
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exp" Experimenter.Models.ExpExecutionLock (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exp)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exp" Experimenter.Models.ExpProgress (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exp)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exp" Experimenter.Models.ExpResult (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exp)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exp" Experimenter.Models.ParamSetting (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exp)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "expResult" Experimenter.Models.RepResult (Database.Persist.Class.PersistEntity.Key Experimenter.Models.ExpResult)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.Exp (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exps)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.ExpsInfoParam (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exps)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.ExpsMaster (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exps)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.ExpsSetup (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exps)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.Param (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exps)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "measure" Experimenter.Models.PrepResultStep (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepMeasure)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "measure" Experimenter.Models.RepResultStep (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepMeasure)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "measure" Experimenter.Models.WarmUpResultStep (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpMeasure)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "prepInput" Experimenter.Models.PrepInputValue (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepInput)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "prepResultData" Experimenter.Models.ExpResult (GHC.Maybe.Maybe (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepResultData))
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "prepResultData" Experimenter.Models.PrepInput (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "prepResultData" Experimenter.Models.PrepMeasure (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repInput" Experimenter.Models.RepInputValue (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepInput)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResult" Experimenter.Models.RepInput (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResult" Experimenter.Models.RepMeasure (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResult" Experimenter.Models.WarmUpInput (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResult" Experimenter.Models.WarmUpMeasure (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResultData" Experimenter.Models.RepResult (GHC.Maybe.Maybe (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepResultData))
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.PrepEndStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.PrepStartStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.RepEndStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.RepStartStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.WarmUpEndStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.WarmUpStartStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpResultData)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "warmUpInput" Experimenter.Models.WarmUpInputValue (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpInput)
- Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "warmUpResultData" Experimenter.Models.RepResult (GHC.Maybe.Maybe (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpResultData))
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.Exp
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.ExpExecutionLock
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.ExpProgress
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.ExpResult
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.Exps
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.ExpsInfoParam
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.ExpsMaster
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.ExpsSetup
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.Param
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.ParamSetting
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.PrepEndStatePart
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.PrepInput
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.PrepInputValue
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.PrepMeasure
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.PrepResultData
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.PrepResultStep
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.PrepStartStatePart
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.RepEndStatePart
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.RepInput
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.RepInputValue
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.RepMeasure
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.RepResult
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.RepResultData
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.RepResultStep
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.RepStartStatePart
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.WarmUpEndStatePart
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.WarmUpInput
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.WarmUpInputValue
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.WarmUpMeasure
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.WarmUpResultData
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.WarmUpResultStep
- Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.Sql.Types.Internal.SqlBackend Experimenter.Models.WarmUpStartStatePart
- Experimenter.Run: loadExperimentsResultsM :: ExperimentDef a => OnlyFinishedExperiments -> (ExpM a (Maybe (Experiments a)) -> IO (Maybe (Experiments a))) -> DatabaseSetting -> MkExperimentSetting a -> InputState a -> ExpM a a -> Int64 -> IO (Maybe (Experiments a))
- Experimenter.Run: loadStateAfterPreparation :: ExperimentDef a => DatabaseSetting -> Int64 -> Int -> Int -> ExpM a (Maybe a)
- Experimenter.Run: loadStateAfterPreparation2 :: ExperimentDef a => (ExpM a b -> IO b) -> DatabaseSetting -> (a -> ExperimentSetting) -> InputState a -> ExpM a a -> Int -> Int -> (a -> ExpM a b) -> IO b
+ Experimenter.Experiment: beforeExperimentStartHook :: ExperimentDef a => ExperimentNumber -> a -> ExpM a a
+ Experimenter.Experiment: type ExpM a :: (Type -> Type);
+ Experimenter.Experiment: type InputState a :: Type;
+ Experimenter.Experiment: type InputValue a :: Type;
+ Experimenter.Experiment: type Serializable a :: Type;
+ Experimenter.Load: DatabaseSetting :: !ByteString -> !Int -> DatabaseSetting
+ Experimenter.Load: [connectionString] :: DatabaseSetting -> !ByteString
+ Experimenter.Load: [parallelConnections] :: DatabaseSetting -> !Int
+ Experimenter.Load: data DatabaseSetting
+ Experimenter.Load: loadExperimentPrepEndState :: forall a. ExperimentDef a => (ExpM a (Maybe a) -> IO (Maybe a)) -> DatabaseSetting -> IO (Maybe a)
+ Experimenter.Load: loadExperimentPrepEndStateIO :: (ExpM a ~ IO, ExperimentDef a) => DatabaseSetting -> IO (Maybe a)
+ Experimenter.Load: loadExperimentsResultsM :: ExperimentDef a => OnlyFinishedExperiments -> (ExpM a (Maybe (Experiments a)) -> IO (Maybe (Experiments a))) -> DatabaseSetting -> MkExperimentSetting a -> InputState a -> ExpM a a -> Int64 -> IO (Maybe (Experiments a))
+ Experimenter.Load: type OnlyFinishedExperiments = Bool
+ Experimenter.Models: entityDefListFormigrateAll :: [EntityDef]
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.Exp
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.ExpExecutionLock
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.ExpProgress
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.ExpResult
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.Exps
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.ExpsInfoParam
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.ExpsMaster
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.ExpsSetup
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.Param
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.ParamSetting
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.PrepEndStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.PrepInput
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.PrepInputValue
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.PrepMeasure
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.PrepResultData
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.PrepResultStep
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.PrepStartStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.RepEndStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.RepInput
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.RepInputValue
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.RepMeasure
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.RepResult
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.RepResultData
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.RepResultStep
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.RepStartStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.WarmUpEndStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.WarmUpInput
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.WarmUpInputValue
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.WarmUpMeasure
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.WarmUpResultData
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.WarmUpResultStep
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SafeToInsert Experimenter.Models.WarmUpStartStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exp" Experimenter.Models.ExpExecutionLock Experimenter.Models.ExpId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exp" Experimenter.Models.ExpProgress Experimenter.Models.ExpId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exp" Experimenter.Models.ExpResult Experimenter.Models.ExpId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exp" Experimenter.Models.ParamSetting Experimenter.Models.ExpId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "expResult" Experimenter.Models.RepResult Experimenter.Models.ExpResultId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.Exp Experimenter.Models.ExpsId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.ExpsInfoParam Experimenter.Models.ExpsId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.ExpsMaster Experimenter.Models.ExpsId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.ExpsSetup Experimenter.Models.ExpsId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "exps" Experimenter.Models.Param Experimenter.Models.ExpsId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.Exp (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exp)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.ExpExecutionLock (Database.Persist.Class.PersistEntity.Key Experimenter.Models.ExpExecutionLock)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.ExpProgress (Database.Persist.Class.PersistEntity.Key Experimenter.Models.ExpProgress)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.ExpResult (Database.Persist.Class.PersistEntity.Key Experimenter.Models.ExpResult)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.Exps (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Exps)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.ExpsInfoParam (Database.Persist.Class.PersistEntity.Key Experimenter.Models.ExpsInfoParam)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.ExpsMaster (Database.Persist.Class.PersistEntity.Key Experimenter.Models.ExpsMaster)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.ExpsSetup (Database.Persist.Class.PersistEntity.Key Experimenter.Models.ExpsSetup)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.Param (Database.Persist.Class.PersistEntity.Key Experimenter.Models.Param)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.ParamSetting (Database.Persist.Class.PersistEntity.Key Experimenter.Models.ParamSetting)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.PrepEndStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepEndStatePart)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.PrepInput (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepInput)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.PrepInputValue (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepInputValue)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.PrepMeasure (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepMeasure)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.PrepResultData (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepResultData)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.PrepResultStep (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepResultStep)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.PrepStartStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.PrepStartStatePart)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.RepEndStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepEndStatePart)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.RepInput (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepInput)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.RepInputValue (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepInputValue)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.RepMeasure (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepMeasure)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.RepResult (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepResult)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.RepResultData (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepResultData)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.RepResultStep (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepResultStep)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.RepStartStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.RepStartStatePart)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.WarmUpEndStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpEndStatePart)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.WarmUpInput (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpInput)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.WarmUpInputValue (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpInputValue)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.WarmUpMeasure (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpMeasure)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.WarmUpResultData (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpResultData)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.WarmUpResultStep (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpResultStep)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "id" Experimenter.Models.WarmUpStartStatePart (Database.Persist.Class.PersistEntity.Key Experimenter.Models.WarmUpStartStatePart)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "measure" Experimenter.Models.PrepResultStep Experimenter.Models.PrepMeasureId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "measure" Experimenter.Models.RepResultStep Experimenter.Models.RepMeasureId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "measure" Experimenter.Models.WarmUpResultStep Experimenter.Models.WarmUpMeasureId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "prepInput" Experimenter.Models.PrepInputValue Experimenter.Models.PrepInputId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "prepResultData" Experimenter.Models.ExpResult (GHC.Maybe.Maybe Experimenter.Models.PrepResultDataId)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "prepResultData" Experimenter.Models.PrepInput Experimenter.Models.PrepResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "prepResultData" Experimenter.Models.PrepMeasure Experimenter.Models.PrepResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repInput" Experimenter.Models.RepInputValue Experimenter.Models.RepInputId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResult" Experimenter.Models.RepInput Experimenter.Models.RepResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResult" Experimenter.Models.RepMeasure Experimenter.Models.RepResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResult" Experimenter.Models.WarmUpInput Experimenter.Models.WarmUpResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResult" Experimenter.Models.WarmUpMeasure Experimenter.Models.WarmUpResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "repResultData" Experimenter.Models.RepResult (GHC.Maybe.Maybe Experimenter.Models.RepResultDataId)
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.PrepEndStatePart Experimenter.Models.PrepResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.PrepStartStatePart Experimenter.Models.PrepResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.RepEndStatePart Experimenter.Models.RepResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.RepStartStatePart Experimenter.Models.RepResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.WarmUpEndStatePart Experimenter.Models.WarmUpResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "resultData" Experimenter.Models.WarmUpStartStatePart Experimenter.Models.WarmUpResultDataId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "warmUpInput" Experimenter.Models.WarmUpInputValue Experimenter.Models.WarmUpInputId
+ Experimenter.Models: instance Database.Persist.Class.PersistEntity.SymbolToField "warmUpResultData" Experimenter.Models.RepResult (GHC.Maybe.Maybe Experimenter.Models.WarmUpResultDataId)
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.Exp
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.ExpExecutionLock
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.ExpProgress
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.ExpResult
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.Exps
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.ExpsInfoParam
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.ExpsMaster
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.ExpsSetup
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.Param
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.ParamSetting
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.PrepEndStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.PrepInput
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.PrepInputValue
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.PrepMeasure
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.PrepResultData
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.PrepResultStep
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.PrepStartStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.RepEndStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.RepInput
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.RepInputValue
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.RepMeasure
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.RepResult
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.RepResultData
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.RepResultStep
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.RepStartStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.WarmUpEndStatePart
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.WarmUpInput
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.WarmUpInputValue
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.WarmUpMeasure
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.WarmUpResultData
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.WarmUpResultStep
+ Experimenter.Models: instance Database.Persist.Class.PersistStore.ToBackendKey Database.Persist.SqlBackend.Internal.SqlBackend Experimenter.Models.WarmUpStartStatePart
- Experimenter.Eval.Type: evalExperiment :: forall a_a2Q8H. Lens' (ExperimentEval a_a2Q8H) (Experiment a_a2Q8H)
+ Experimenter.Eval.Type: evalExperiment :: forall a_a2kPm. Lens' (ExperimentEval a_a2kPm) (Experiment a_a2kPm)
- Experimenter.Eval.Type: evalExperimentNumber :: forall a_a2Q8H. Lens' (ExperimentEval a_a2Q8H) Int
+ Experimenter.Eval.Type: evalExperimentNumber :: forall a_a2kPm. Lens' (ExperimentEval a_a2kPm) Int
- Experimenter.Eval.Type: evalExperimentResults :: forall a_a2Q8H. Lens' (ExperimentEval a_a2Q8H) [Availability IO (EvalResults a_a2Q8H)]
+ Experimenter.Eval.Type: evalExperimentResults :: forall a_a2kPm. Lens' (ExperimentEval a_a2kPm) [Availability IO (EvalResults a_a2kPm)]
- Experimenter.Eval.Type: evalType :: forall a_a2OPP. Lens' (EvalResults a_a2OPP) (StatsDef a_a2OPP)
+ Experimenter.Eval.Type: evalType :: forall a_a2jbM. Lens' (EvalResults a_a2jbM) (StatsDef a_a2jbM)
- Experimenter.Eval.Type: evalUnit :: forall a_a2OPP. Lens' (EvalResults a_a2OPP) Unit
+ Experimenter.Eval.Type: evalUnit :: forall a_a2jbM. Lens' (EvalResults a_a2jbM) Unit
- Experimenter.Eval.Type: evalValue :: forall a_a2OPP. Traversal' (EvalResults a_a2OPP) Double
+ Experimenter.Eval.Type: evalValue :: forall a_a2jbM. Traversal' (EvalResults a_a2jbM) Double
- Experimenter.Eval.Type: evalValues :: forall a_a2OPP. Traversal' (EvalResults a_a2OPP) [EvalResults a_a2OPP]
+ Experimenter.Eval.Type: evalValues :: forall a_a2jbM. Traversal' (EvalResults a_a2jbM) [EvalResults a_a2jbM]
- Experimenter.Eval.Type: evalVariableName :: forall a_a2OPP. Traversal' (EvalResults a_a2OPP) ByteString
+ Experimenter.Eval.Type: evalVariableName :: forall a_a2jbM. Traversal' (EvalResults a_a2jbM) ByteString
- Experimenter.Eval.Type: evalX :: forall a_a2OPP. Traversal' (EvalResults a_a2OPP) (Either Int Double)
+ Experimenter.Eval.Type: evalX :: forall a_a2jbM. Traversal' (EvalResults a_a2jbM) (Either Int Double)
- Experimenter.Eval.Type: evalY :: forall a_a2OPP. Traversal' (EvalResults a_a2OPP) Double
+ Experimenter.Eval.Type: evalY :: forall a_a2jbM. Traversal' (EvalResults a_a2jbM) Double
- Experimenter.Eval.Type: evalsExperiments :: forall a_a2Qmo. Lens' (Evals a_a2Qmo) (Experiments a_a2Qmo)
+ Experimenter.Eval.Type: evalsExperiments :: forall a_a2l53. Lens' (Evals a_a2l53) (Experiments a_a2l53)
- Experimenter.Eval.Type: evalsResults :: forall a_a2Qmo. Lens' (Evals a_a2Qmo) [ExperimentEval a_a2Qmo]
+ Experimenter.Eval.Type: evalsResults :: forall a_a2l53. Lens' (Evals a_a2l53) [ExperimentEval a_a2l53]
- Experimenter.Input: inputValue :: forall a_a2K4E a_a2K5M. Lens (Input a_a2K4E) (Input a_a2K5M) (InputValue a_a2K4E) (InputValue a_a2K5M)
+ Experimenter.Input: inputValue :: forall a_a2ese a_a2eum. Lens (Input a_a2ese) (Input a_a2eum) (InputValue a_a2ese) (InputValue a_a2eum)
- Experimenter.Input: inputValuePeriod :: forall a_a2K4E. Lens' (Input a_a2K4E) Int
+ Experimenter.Input: inputValuePeriod :: forall a_a2ese. Lens' (Input a_a2ese) Int
- Experimenter.Models: Exp :: !Key Exps -> !Int -> !UTCTime -> !Maybe UTCTime -> Exp
+ Experimenter.Models: Exp :: !ExpsId -> !Int -> !UTCTime -> !Maybe UTCTime -> Exp
- Experimenter.Models: ExpExecutionLock :: !Key Exp -> !Text -> !Int -> !UTCTime -> ExpExecutionLock
+ Experimenter.Models: ExpExecutionLock :: !ExpId -> !Text -> !Int -> !UTCTime -> ExpExecutionLock
- Experimenter.Models: ExpProgress :: !Key Exp -> !Int -> !Int -> ExpProgress
+ Experimenter.Models: ExpProgress :: !ExpId -> !Int -> !Int -> ExpProgress
- Experimenter.Models: ExpResult :: !Key Exp -> !Int -> !Maybe (Key PrepResultData) -> ExpResult
+ Experimenter.Models: ExpResult :: !ExpId -> !Int -> !Maybe PrepResultDataId -> ExpResult
- Experimenter.Models: ExpsInfoParam :: !Key Exps -> !Text -> !ByteString -> ExpsInfoParam
+ Experimenter.Models: ExpsInfoParam :: !ExpsId -> !Text -> !ByteString -> ExpsInfoParam
- Experimenter.Models: ExpsMaster :: !Key Exps -> !Text -> !Int -> !UTCTime -> ExpsMaster
+ Experimenter.Models: ExpsMaster :: !ExpsId -> !Text -> !Int -> !UTCTime -> ExpsMaster
- Experimenter.Models: ExpsSetup :: !Key Exps -> !Int -> !Int -> !Int -> !Int -> !Int -> !Maybe Int -> ExpsSetup
+ Experimenter.Models: ExpsSetup :: !ExpsId -> !Int -> !Int -> !Int -> !Int -> !Int -> !Maybe Int -> ExpsSetup
- Experimenter.Models: Param :: !Key Exps -> !Text -> !Maybe ByteString -> !Maybe ByteString -> Param
+ Experimenter.Models: Param :: !ExpsId -> !Text -> !Maybe ByteString -> !Maybe ByteString -> Param
- Experimenter.Models: ParamSetting :: !Key Exp -> !Text -> !ByteString -> !Bool -> !Int -> ParamSetting
+ Experimenter.Models: ParamSetting :: !ExpId -> !Text -> !ByteString -> !Bool -> !Int -> ParamSetting
- Experimenter.Models: PrepEndStatePart :: !Key PrepResultData -> !Int -> !ByteString -> PrepEndStatePart
+ Experimenter.Models: PrepEndStatePart :: !PrepResultDataId -> !Int -> !ByteString -> PrepEndStatePart
- Experimenter.Models: PrepInput :: !Key PrepResultData -> !Int -> PrepInput
+ Experimenter.Models: PrepInput :: !PrepResultDataId -> !Int -> PrepInput
- Experimenter.Models: PrepInputValue :: !Key PrepInput -> !ByteString -> PrepInputValue
+ Experimenter.Models: PrepInputValue :: !PrepInputId -> !ByteString -> PrepInputValue
- Experimenter.Models: PrepMeasure :: !Key PrepResultData -> !Int -> PrepMeasure
+ Experimenter.Models: PrepMeasure :: !PrepResultDataId -> !Int -> PrepMeasure
- Experimenter.Models: PrepResultStep :: !Key PrepMeasure -> !Text -> !Maybe Double -> !Double -> PrepResultStep
+ Experimenter.Models: PrepResultStep :: !PrepMeasureId -> !Text -> !Maybe Double -> !Double -> PrepResultStep
- Experimenter.Models: PrepStartStatePart :: !Key PrepResultData -> !Int -> !ByteString -> PrepStartStatePart
+ Experimenter.Models: PrepStartStatePart :: !PrepResultDataId -> !Int -> !ByteString -> PrepStartStatePart
- Experimenter.Models: RepEndStatePart :: !Key RepResultData -> !Int -> !ByteString -> RepEndStatePart
+ Experimenter.Models: RepEndStatePart :: !RepResultDataId -> !Int -> !ByteString -> RepEndStatePart
- Experimenter.Models: RepInput :: !Key RepResultData -> !Int -> RepInput
+ Experimenter.Models: RepInput :: !RepResultDataId -> !Int -> RepInput
- Experimenter.Models: RepInputValue :: !Key RepInput -> !ByteString -> RepInputValue
+ Experimenter.Models: RepInputValue :: !RepInputId -> !ByteString -> RepInputValue
- Experimenter.Models: RepMeasure :: !Key RepResultData -> !Int -> RepMeasure
+ Experimenter.Models: RepMeasure :: !RepResultDataId -> !Int -> RepMeasure
- Experimenter.Models: RepResult :: !Key ExpResult -> !Int -> !Maybe (Key WarmUpResultData) -> !Maybe (Key RepResultData) -> RepResult
+ Experimenter.Models: RepResult :: !ExpResultId -> !Int -> !Maybe WarmUpResultDataId -> !Maybe RepResultDataId -> RepResult
- Experimenter.Models: RepResultStep :: !Key RepMeasure -> !Text -> !Maybe Double -> !Double -> RepResultStep
+ Experimenter.Models: RepResultStep :: !RepMeasureId -> !Text -> !Maybe Double -> !Double -> RepResultStep
- Experimenter.Models: RepStartStatePart :: !Key RepResultData -> !Int -> !ByteString -> RepStartStatePart
+ Experimenter.Models: RepStartStatePart :: !RepResultDataId -> !Int -> !ByteString -> RepStartStatePart
- Experimenter.Models: WarmUpEndStatePart :: !Key WarmUpResultData -> !Int -> !ByteString -> WarmUpEndStatePart
+ Experimenter.Models: WarmUpEndStatePart :: !WarmUpResultDataId -> !Int -> !ByteString -> WarmUpEndStatePart
- Experimenter.Models: WarmUpInput :: !Key WarmUpResultData -> !Int -> WarmUpInput
+ Experimenter.Models: WarmUpInput :: !WarmUpResultDataId -> !Int -> WarmUpInput
- Experimenter.Models: WarmUpInputValue :: !Key WarmUpInput -> !ByteString -> WarmUpInputValue
+ Experimenter.Models: WarmUpInputValue :: !WarmUpInputId -> !ByteString -> WarmUpInputValue
- Experimenter.Models: WarmUpMeasure :: !Key WarmUpResultData -> !Int -> WarmUpMeasure
+ Experimenter.Models: WarmUpMeasure :: !WarmUpResultDataId -> !Int -> WarmUpMeasure
- Experimenter.Models: WarmUpResultStep :: !Key WarmUpMeasure -> !Text -> !Maybe Double -> !Double -> WarmUpResultStep
+ Experimenter.Models: WarmUpResultStep :: !WarmUpMeasureId -> !Text -> !Maybe Double -> !Double -> WarmUpResultStep
- Experimenter.Models: WarmUpStartStatePart :: !Key WarmUpResultData -> !Int -> !ByteString -> WarmUpStartStatePart
+ Experimenter.Models: WarmUpStartStatePart :: !WarmUpResultDataId -> !Int -> !ByteString -> WarmUpStartStatePart
- Experimenter.Models: [_expExecutionLockExp] :: ExpExecutionLock -> !Key Exp
+ Experimenter.Models: [_expExecutionLockExp] :: ExpExecutionLock -> !ExpId
- Experimenter.Models: [_expExps] :: Exp -> !Key Exps
+ Experimenter.Models: [_expExps] :: Exp -> !ExpsId
- Experimenter.Models: [_expProgressExp] :: ExpProgress -> !Key Exp
+ Experimenter.Models: [_expProgressExp] :: ExpProgress -> !ExpId
- Experimenter.Models: [_expResultExp] :: ExpResult -> !Key Exp
+ Experimenter.Models: [_expResultExp] :: ExpResult -> !ExpId
- Experimenter.Models: [_expResultPrepResultData] :: ExpResult -> !Maybe (Key PrepResultData)
+ Experimenter.Models: [_expResultPrepResultData] :: ExpResult -> !Maybe PrepResultDataId
- Experimenter.Models: [_expsInfoParamExps] :: ExpsInfoParam -> !Key Exps
+ Experimenter.Models: [_expsInfoParamExps] :: ExpsInfoParam -> !ExpsId
- Experimenter.Models: [_expsMasterExps] :: ExpsMaster -> !Key Exps
+ Experimenter.Models: [_expsMasterExps] :: ExpsMaster -> !ExpsId
- Experimenter.Models: [_expsSetupExps] :: ExpsSetup -> !Key Exps
+ Experimenter.Models: [_expsSetupExps] :: ExpsSetup -> !ExpsId
- Experimenter.Models: [_paramExps] :: Param -> !Key Exps
+ Experimenter.Models: [_paramExps] :: Param -> !ExpsId
- Experimenter.Models: [_paramSettingExp] :: ParamSetting -> !Key Exp
+ Experimenter.Models: [_paramSettingExp] :: ParamSetting -> !ExpId
- Experimenter.Models: [_prepEndStatePartResultData] :: PrepEndStatePart -> !Key PrepResultData
+ Experimenter.Models: [_prepEndStatePartResultData] :: PrepEndStatePart -> !PrepResultDataId
- Experimenter.Models: [_prepInputPrepResultData] :: PrepInput -> !Key PrepResultData
+ Experimenter.Models: [_prepInputPrepResultData] :: PrepInput -> !PrepResultDataId
- Experimenter.Models: [_prepInputValuePrepInput] :: PrepInputValue -> !Key PrepInput
+ Experimenter.Models: [_prepInputValuePrepInput] :: PrepInputValue -> !PrepInputId
- Experimenter.Models: [_prepMeasurePrepResultData] :: PrepMeasure -> !Key PrepResultData
+ Experimenter.Models: [_prepMeasurePrepResultData] :: PrepMeasure -> !PrepResultDataId
- Experimenter.Models: [_prepResultStepMeasure] :: PrepResultStep -> !Key PrepMeasure
+ Experimenter.Models: [_prepResultStepMeasure] :: PrepResultStep -> !PrepMeasureId
- Experimenter.Models: [_prepStartStatePartResultData] :: PrepStartStatePart -> !Key PrepResultData
+ Experimenter.Models: [_prepStartStatePartResultData] :: PrepStartStatePart -> !PrepResultDataId
- Experimenter.Models: [_repEndStatePartResultData] :: RepEndStatePart -> !Key RepResultData
+ Experimenter.Models: [_repEndStatePartResultData] :: RepEndStatePart -> !RepResultDataId
- Experimenter.Models: [_repInputRepResult] :: RepInput -> !Key RepResultData
+ Experimenter.Models: [_repInputRepResult] :: RepInput -> !RepResultDataId
- Experimenter.Models: [_repInputValueRepInput] :: RepInputValue -> !Key RepInput
+ Experimenter.Models: [_repInputValueRepInput] :: RepInputValue -> !RepInputId
- Experimenter.Models: [_repMeasureRepResult] :: RepMeasure -> !Key RepResultData
+ Experimenter.Models: [_repMeasureRepResult] :: RepMeasure -> !RepResultDataId
- Experimenter.Models: [_repResultExpResult] :: RepResult -> !Key ExpResult
+ Experimenter.Models: [_repResultExpResult] :: RepResult -> !ExpResultId
- Experimenter.Models: [_repResultRepResultData] :: RepResult -> !Maybe (Key RepResultData)
+ Experimenter.Models: [_repResultRepResultData] :: RepResult -> !Maybe RepResultDataId
- Experimenter.Models: [_repResultStepMeasure] :: RepResultStep -> !Key RepMeasure
+ Experimenter.Models: [_repResultStepMeasure] :: RepResultStep -> !RepMeasureId
- Experimenter.Models: [_repResultWarmUpResultData] :: RepResult -> !Maybe (Key WarmUpResultData)
+ Experimenter.Models: [_repResultWarmUpResultData] :: RepResult -> !Maybe WarmUpResultDataId
- Experimenter.Models: [_repStartStatePartResultData] :: RepStartStatePart -> !Key RepResultData
+ Experimenter.Models: [_repStartStatePartResultData] :: RepStartStatePart -> !RepResultDataId
- Experimenter.Models: [_warmUpEndStatePartResultData] :: WarmUpEndStatePart -> !Key WarmUpResultData
+ Experimenter.Models: [_warmUpEndStatePartResultData] :: WarmUpEndStatePart -> !WarmUpResultDataId
- Experimenter.Models: [_warmUpInputRepResult] :: WarmUpInput -> !Key WarmUpResultData
+ Experimenter.Models: [_warmUpInputRepResult] :: WarmUpInput -> !WarmUpResultDataId
- Experimenter.Models: [_warmUpInputValueWarmUpInput] :: WarmUpInputValue -> !Key WarmUpInput
+ Experimenter.Models: [_warmUpInputValueWarmUpInput] :: WarmUpInputValue -> !WarmUpInputId
- Experimenter.Models: [_warmUpMeasureRepResult] :: WarmUpMeasure -> !Key WarmUpResultData
+ Experimenter.Models: [_warmUpMeasureRepResult] :: WarmUpMeasure -> !WarmUpResultDataId
- Experimenter.Models: [_warmUpResultStepMeasure] :: WarmUpResultStep -> !Key WarmUpMeasure
+ Experimenter.Models: [_warmUpResultStepMeasure] :: WarmUpResultStep -> !WarmUpMeasureId
- Experimenter.Models: [_warmUpStartStatePartResultData] :: WarmUpStartStatePart -> !Key WarmUpResultData
+ Experimenter.Models: [_warmUpStartStatePartResultData] :: WarmUpStartStatePart -> !WarmUpResultDataId
- Experimenter.Models: expExecutionLockExp :: forall f. Functor f => (Key Exp -> f (Key Exp)) -> ExpExecutionLock -> f ExpExecutionLock
+ Experimenter.Models: expExecutionLockExp :: forall f. Functor f => (ExpId -> f ExpId) -> ExpExecutionLock -> f ExpExecutionLock
- Experimenter.Models: expExps :: forall f. Functor f => (Key Exps -> f (Key Exps)) -> Exp -> f Exp
+ Experimenter.Models: expExps :: forall f. Functor f => (ExpsId -> f ExpsId) -> Exp -> f Exp
- Experimenter.Models: expProgressExp :: forall f. Functor f => (Key Exp -> f (Key Exp)) -> ExpProgress -> f ExpProgress
+ Experimenter.Models: expProgressExp :: forall f. Functor f => (ExpId -> f ExpId) -> ExpProgress -> f ExpProgress
- Experimenter.Models: expResultExp :: forall f. Functor f => (Key Exp -> f (Key Exp)) -> ExpResult -> f ExpResult
+ Experimenter.Models: expResultExp :: forall f. Functor f => (ExpId -> f ExpId) -> ExpResult -> f ExpResult
- Experimenter.Models: expResultPrepResultData :: forall f. Functor f => (Maybe (Key PrepResultData) -> f (Maybe (Key PrepResultData))) -> ExpResult -> f ExpResult
+ Experimenter.Models: expResultPrepResultData :: forall f. Functor f => (Maybe PrepResultDataId -> f (Maybe PrepResultDataId)) -> ExpResult -> f ExpResult
- Experimenter.Models: expsInfoParamExps :: forall f. Functor f => (Key Exps -> f (Key Exps)) -> ExpsInfoParam -> f ExpsInfoParam
+ Experimenter.Models: expsInfoParamExps :: forall f. Functor f => (ExpsId -> f ExpsId) -> ExpsInfoParam -> f ExpsInfoParam
- Experimenter.Models: expsMasterExps :: forall f. Functor f => (Key Exps -> f (Key Exps)) -> ExpsMaster -> f ExpsMaster
+ Experimenter.Models: expsMasterExps :: forall f. Functor f => (ExpsId -> f ExpsId) -> ExpsMaster -> f ExpsMaster
- Experimenter.Models: expsSetupExps :: forall f. Functor f => (Key Exps -> f (Key Exps)) -> ExpsSetup -> f ExpsSetup
+ Experimenter.Models: expsSetupExps :: forall f. Functor f => (ExpsId -> f ExpsId) -> ExpsSetup -> f ExpsSetup
- Experimenter.Models: paramExps :: forall f. Functor f => (Key Exps -> f (Key Exps)) -> Param -> f Param
+ Experimenter.Models: paramExps :: forall f. Functor f => (ExpsId -> f ExpsId) -> Param -> f Param
- Experimenter.Models: paramSettingExp :: forall f. Functor f => (Key Exp -> f (Key Exp)) -> ParamSetting -> f ParamSetting
+ Experimenter.Models: paramSettingExp :: forall f. Functor f => (ExpId -> f ExpId) -> ParamSetting -> f ParamSetting
- Experimenter.Models: prepEndStatePartResultData :: forall f. Functor f => (Key PrepResultData -> f (Key PrepResultData)) -> PrepEndStatePart -> f PrepEndStatePart
+ Experimenter.Models: prepEndStatePartResultData :: forall f. Functor f => (PrepResultDataId -> f PrepResultDataId) -> PrepEndStatePart -> f PrepEndStatePart
- Experimenter.Models: prepInputPrepResultData :: forall f. Functor f => (Key PrepResultData -> f (Key PrepResultData)) -> PrepInput -> f PrepInput
+ Experimenter.Models: prepInputPrepResultData :: forall f. Functor f => (PrepResultDataId -> f PrepResultDataId) -> PrepInput -> f PrepInput
- Experimenter.Models: prepInputValuePrepInput :: forall f. Functor f => (Key PrepInput -> f (Key PrepInput)) -> PrepInputValue -> f PrepInputValue
+ Experimenter.Models: prepInputValuePrepInput :: forall f. Functor f => (PrepInputId -> f PrepInputId) -> PrepInputValue -> f PrepInputValue
- Experimenter.Models: prepMeasurePrepResultData :: forall f. Functor f => (Key PrepResultData -> f (Key PrepResultData)) -> PrepMeasure -> f PrepMeasure
+ Experimenter.Models: prepMeasurePrepResultData :: forall f. Functor f => (PrepResultDataId -> f PrepResultDataId) -> PrepMeasure -> f PrepMeasure
- Experimenter.Models: prepResultStepMeasure :: forall f. Functor f => (Key PrepMeasure -> f (Key PrepMeasure)) -> PrepResultStep -> f PrepResultStep
+ Experimenter.Models: prepResultStepMeasure :: forall f. Functor f => (PrepMeasureId -> f PrepMeasureId) -> PrepResultStep -> f PrepResultStep
- Experimenter.Models: prepStartStatePartResultData :: forall f. Functor f => (Key PrepResultData -> f (Key PrepResultData)) -> PrepStartStatePart -> f PrepStartStatePart
+ Experimenter.Models: prepStartStatePartResultData :: forall f. Functor f => (PrepResultDataId -> f PrepResultDataId) -> PrepStartStatePart -> f PrepStartStatePart
- Experimenter.Models: repEndStatePartResultData :: forall f. Functor f => (Key RepResultData -> f (Key RepResultData)) -> RepEndStatePart -> f RepEndStatePart
+ Experimenter.Models: repEndStatePartResultData :: forall f. Functor f => (RepResultDataId -> f RepResultDataId) -> RepEndStatePart -> f RepEndStatePart
- Experimenter.Models: repInputRepResult :: forall f. Functor f => (Key RepResultData -> f (Key RepResultData)) -> RepInput -> f RepInput
+ Experimenter.Models: repInputRepResult :: forall f. Functor f => (RepResultDataId -> f RepResultDataId) -> RepInput -> f RepInput
- Experimenter.Models: repInputValueRepInput :: forall f. Functor f => (Key RepInput -> f (Key RepInput)) -> RepInputValue -> f RepInputValue
+ Experimenter.Models: repInputValueRepInput :: forall f. Functor f => (RepInputId -> f RepInputId) -> RepInputValue -> f RepInputValue
- Experimenter.Models: repMeasureRepResult :: forall f. Functor f => (Key RepResultData -> f (Key RepResultData)) -> RepMeasure -> f RepMeasure
+ Experimenter.Models: repMeasureRepResult :: forall f. Functor f => (RepResultDataId -> f RepResultDataId) -> RepMeasure -> f RepMeasure
- Experimenter.Models: repResultExpResult :: forall f. Functor f => (Key ExpResult -> f (Key ExpResult)) -> RepResult -> f RepResult
+ Experimenter.Models: repResultExpResult :: forall f. Functor f => (ExpResultId -> f ExpResultId) -> RepResult -> f RepResult
- Experimenter.Models: repResultRepResultData :: forall f. Functor f => (Maybe (Key RepResultData) -> f (Maybe (Key RepResultData))) -> RepResult -> f RepResult
+ Experimenter.Models: repResultRepResultData :: forall f. Functor f => (Maybe RepResultDataId -> f (Maybe RepResultDataId)) -> RepResult -> f RepResult
- Experimenter.Models: repResultStepMeasure :: forall f. Functor f => (Key RepMeasure -> f (Key RepMeasure)) -> RepResultStep -> f RepResultStep
+ Experimenter.Models: repResultStepMeasure :: forall f. Functor f => (RepMeasureId -> f RepMeasureId) -> RepResultStep -> f RepResultStep
- Experimenter.Models: repResultWarmUpResultData :: forall f. Functor f => (Maybe (Key WarmUpResultData) -> f (Maybe (Key WarmUpResultData))) -> RepResult -> f RepResult
+ Experimenter.Models: repResultWarmUpResultData :: forall f. Functor f => (Maybe WarmUpResultDataId -> f (Maybe WarmUpResultDataId)) -> RepResult -> f RepResult
- Experimenter.Models: repStartStatePartResultData :: forall f. Functor f => (Key RepResultData -> f (Key RepResultData)) -> RepStartStatePart -> f RepStartStatePart
+ Experimenter.Models: repStartStatePartResultData :: forall f. Functor f => (RepResultDataId -> f RepResultDataId) -> RepStartStatePart -> f RepStartStatePart
- Experimenter.Models: warmUpEndStatePartResultData :: forall f. Functor f => (Key WarmUpResultData -> f (Key WarmUpResultData)) -> WarmUpEndStatePart -> f WarmUpEndStatePart
+ Experimenter.Models: warmUpEndStatePartResultData :: forall f. Functor f => (WarmUpResultDataId -> f WarmUpResultDataId) -> WarmUpEndStatePart -> f WarmUpEndStatePart
- Experimenter.Models: warmUpInputRepResult :: forall f. Functor f => (Key WarmUpResultData -> f (Key WarmUpResultData)) -> WarmUpInput -> f WarmUpInput
+ Experimenter.Models: warmUpInputRepResult :: forall f. Functor f => (WarmUpResultDataId -> f WarmUpResultDataId) -> WarmUpInput -> f WarmUpInput
- Experimenter.Models: warmUpInputValueWarmUpInput :: forall f. Functor f => (Key WarmUpInput -> f (Key WarmUpInput)) -> WarmUpInputValue -> f WarmUpInputValue
+ Experimenter.Models: warmUpInputValueWarmUpInput :: forall f. Functor f => (WarmUpInputId -> f WarmUpInputId) -> WarmUpInputValue -> f WarmUpInputValue
- Experimenter.Models: warmUpMeasureRepResult :: forall f. Functor f => (Key WarmUpResultData -> f (Key WarmUpResultData)) -> WarmUpMeasure -> f WarmUpMeasure
+ Experimenter.Models: warmUpMeasureRepResult :: forall f. Functor f => (WarmUpResultDataId -> f WarmUpResultDataId) -> WarmUpMeasure -> f WarmUpMeasure
- Experimenter.Models: warmUpResultStepMeasure :: forall f. Functor f => (Key WarmUpMeasure -> f (Key WarmUpMeasure)) -> WarmUpResultStep -> f WarmUpResultStep
+ Experimenter.Models: warmUpResultStepMeasure :: forall f. Functor f => (WarmUpMeasureId -> f WarmUpMeasureId) -> WarmUpResultStep -> f WarmUpResultStep
- Experimenter.Models: warmUpStartStatePartResultData :: forall f. Functor f => (Key WarmUpResultData -> f (Key WarmUpResultData)) -> WarmUpStartStatePart -> f WarmUpStartStatePart
+ Experimenter.Models: warmUpStartStatePartResultData :: forall f. Functor f => (WarmUpResultDataId -> f WarmUpResultDataId) -> WarmUpStartStatePart -> f WarmUpStartStatePart
- Experimenter.Parameter.Type: parameterSettingExperimentDesign :: forall a_a2Cf6 a_a2Dh8. Lens (ParameterSetting a_a2Cf6) (ParameterSetting a_a2Dh8) ExperimentDesign ExperimentDesign
+ Experimenter.Parameter.Type: parameterSettingExperimentDesign :: forall a_a25Tw a_a26Ya. Lens (ParameterSetting a_a25Tw) (ParameterSetting a_a26Ya) ExperimentDesign ExperimentDesign
- Experimenter.Parameter.Type: parameterSettingName :: forall a_a2Cf6 a_a2Dh9. Lens (ParameterSetting a_a2Cf6) (ParameterSetting a_a2Dh9) Text Text
+ Experimenter.Parameter.Type: parameterSettingName :: forall a_a25Tw a_a26Yb. Lens (ParameterSetting a_a25Tw) (ParameterSetting a_a26Yb) Text Text
- Experimenter.Parameter.Type: parameterSettingSkipPreparationPhase :: forall a_a2Cf6 a_a2Dha. Lens (ParameterSetting a_a2Cf6) (ParameterSetting a_a2Dha) Bool Bool
+ Experimenter.Parameter.Type: parameterSettingSkipPreparationPhase :: forall a_a25Tw a_a26Yc. Lens (ParameterSetting a_a25Tw) (ParameterSetting a_a26Yc) Bool Bool
- Experimenter.Parameter.Type: parameterSettingValue :: forall a_a2Cf6 a_a2Dhb. Lens (ParameterSetting a_a2Cf6) (ParameterSetting a_a2Dhb) ByteString ByteString
+ Experimenter.Parameter.Type: parameterSettingValue :: forall a_a25Tw a_a26Yd. Lens (ParameterSetting a_a25Tw) (ParameterSetting a_a26Yd) ByteString ByteString
- Experimenter.Result.Type: endInputState :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) (Maybe (InputState a_a2Kg1))
+ Experimenter.Result.Type: endInputState :: forall a_a2eEi. Lens' (ResultData a_a2eEi) (Maybe (InputState a_a2eEi))
- Experimenter.Result.Type: endRandGen :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) (Maybe GenIO)
+ Experimenter.Result.Type: endRandGen :: forall a_a2eEi. Lens' (ResultData a_a2eEi) (Maybe GenIO)
- Experimenter.Result.Type: endState :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) (Availability (ExpM a_a2Kg1) (Maybe a_a2Kg1))
+ Experimenter.Result.Type: endState :: forall a_a2eEi. Lens' (ResultData a_a2eEi) (Availability (ExpM a_a2eEi) (Maybe a_a2eEi))
- Experimenter.Result.Type: endTime :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) (Maybe UTCTime)
+ Experimenter.Result.Type: endTime :: forall a_a2eEi. Lens' (ResultData a_a2eEi) (Maybe UTCTime)
- Experimenter.Result.Type: evalResults :: forall a_a2Ko2. Lens' (ReplicationResult a_a2Ko2) (Maybe (ResultData a_a2Ko2))
+ Experimenter.Result.Type: evalResults :: forall a_a2eMa. Lens' (ReplicationResult a_a2eMa) (Maybe (ResultData a_a2eMa))
- Experimenter.Result.Type: evaluationResults :: forall a_a2Kwb. Lens' (ExperimentResult a_a2Kwb) [ReplicationResult a_a2Kwb]
+ Experimenter.Result.Type: evaluationResults :: forall a_a2eWy. Lens' (ExperimentResult a_a2eWy) [ReplicationResult a_a2eWy]
- Experimenter.Result.Type: experimentEndTime :: forall a_a2KzJ. Lens' (Experiment a_a2KzJ) (Maybe UTCTime)
+ Experimenter.Result.Type: experimentEndTime :: forall a_a2f0u. Lens' (Experiment a_a2f0u) (Maybe UTCTime)
- Experimenter.Result.Type: experimentKey :: forall a_a2KzJ. Lens' (Experiment a_a2KzJ) (Key Exp)
+ Experimenter.Result.Type: experimentKey :: forall a_a2f0u. Lens' (Experiment a_a2f0u) (Key Exp)
- Experimenter.Result.Type: experimentNumber :: forall a_a2KzJ. Lens' (Experiment a_a2KzJ) Int
+ Experimenter.Result.Type: experimentNumber :: forall a_a2f0u. Lens' (Experiment a_a2f0u) Int
- Experimenter.Result.Type: experimentResultKey :: forall a_a2Kwb. Lens' (ExperimentResult a_a2Kwb) (Key ExpResult)
+ Experimenter.Result.Type: experimentResultKey :: forall a_a2eWy. Lens' (ExperimentResult a_a2eWy) (Key ExpResult)
- Experimenter.Result.Type: experimentResults :: forall a_a2KzJ. Lens' (Experiment a_a2KzJ) [ExperimentResult a_a2KzJ]
+ Experimenter.Result.Type: experimentResults :: forall a_a2f0u. Lens' (Experiment a_a2f0u) [ExperimentResult a_a2f0u]
- Experimenter.Result.Type: experimentStartTime :: forall a_a2KzJ. Lens' (Experiment a_a2KzJ) UTCTime
+ Experimenter.Result.Type: experimentStartTime :: forall a_a2f0u. Lens' (Experiment a_a2f0u) UTCTime
- Experimenter.Result.Type: experiments :: forall a_a2KDV. Lens' (Experiments a_a2KDV) [Experiment a_a2KDV]
+ Experimenter.Result.Type: experiments :: forall a_a2f54. Lens' (Experiments a_a2f54) [Experiment a_a2f54]
- Experimenter.Result.Type: experimentsEndTime :: forall a_a2KDV. Lens' (Experiments a_a2KDV) (Maybe UTCTime)
+ Experimenter.Result.Type: experimentsEndTime :: forall a_a2f54. Lens' (Experiments a_a2f54) (Maybe UTCTime)
- Experimenter.Result.Type: experimentsInfoParameters :: forall a_a2KDV. Lens' (Experiments a_a2KDV) [ExperimentInfoParameter]
+ Experimenter.Result.Type: experimentsInfoParameters :: forall a_a2f54. Lens' (Experiments a_a2f54) [ExperimentInfoParameter]
- Experimenter.Result.Type: experimentsInitialInputState :: forall a_a2KDV. Lens' (Experiments a_a2KDV) (InputState a_a2KDV)
+ Experimenter.Result.Type: experimentsInitialInputState :: forall a_a2f54. Lens' (Experiments a_a2f54) (InputState a_a2f54)
- Experimenter.Result.Type: experimentsInitialState :: forall a_a2KDV. Lens' (Experiments a_a2KDV) a_a2KDV
+ Experimenter.Result.Type: experimentsInitialState :: forall a_a2f54. Lens' (Experiments a_a2f54) a_a2f54
- Experimenter.Result.Type: experimentsKey :: forall a_a2KDV. Lens' (Experiments a_a2KDV) (Key Exps)
+ Experimenter.Result.Type: experimentsKey :: forall a_a2f54. Lens' (Experiments a_a2f54) (Key Exps)
- Experimenter.Result.Type: experimentsName :: forall a_a2KDV. Lens' (Experiments a_a2KDV) Text
+ Experimenter.Result.Type: experimentsName :: forall a_a2f54. Lens' (Experiments a_a2f54) Text
- Experimenter.Result.Type: experimentsParameters :: forall a_a2KDV. Lens' (Experiments a_a2KDV) [ParameterSetup a_a2KDV]
+ Experimenter.Result.Type: experimentsParameters :: forall a_a2f54. Lens' (Experiments a_a2f54) [ParameterSetup a_a2f54]
- Experimenter.Result.Type: experimentsSetup :: forall a_a2KDV. Lens' (Experiments a_a2KDV) ExpsSetup
+ Experimenter.Result.Type: experimentsSetup :: forall a_a2f54. Lens' (Experiments a_a2f54) ExpsSetup
- Experimenter.Result.Type: experimentsStartTime :: forall a_a2KDV. Lens' (Experiments a_a2KDV) UTCTime
+ Experimenter.Result.Type: experimentsStartTime :: forall a_a2f54. Lens' (Experiments a_a2f54) UTCTime
- Experimenter.Result.Type: inputValues :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) (AvailabilityList (ExpM a_a2Kg1) (Input a_a2Kg1))
+ Experimenter.Result.Type: inputValues :: forall a_a2eEi. Lens' (ResultData a_a2eEi) (AvailabilityList (ExpM a_a2eEi) (Input a_a2eEi))
- Experimenter.Result.Type: parameterSetup :: forall a_a2KzJ. Lens' (Experiment a_a2KzJ) [ParameterSetting a_a2KzJ]
+ Experimenter.Result.Type: parameterSetup :: forall a_a2f0u. Lens' (Experiment a_a2f0u) [ParameterSetting a_a2f0u]
- Experimenter.Result.Type: preparationResults :: forall a_a2Kwb. Lens' (ExperimentResult a_a2Kwb) (Maybe (ResultData a_a2Kwb))
+ Experimenter.Result.Type: preparationResults :: forall a_a2eWy. Lens' (ExperimentResult a_a2eWy) (Maybe (ResultData a_a2eWy))
- Experimenter.Result.Type: repetitionNumber :: forall a_a2Kwb. Lens' (ExperimentResult a_a2Kwb) Int
+ Experimenter.Result.Type: repetitionNumber :: forall a_a2eWy. Lens' (ExperimentResult a_a2eWy) Int
- Experimenter.Result.Type: replicationNumber :: forall a_a2Ko2. Lens' (ReplicationResult a_a2Ko2) Int
+ Experimenter.Result.Type: replicationNumber :: forall a_a2eMa. Lens' (ReplicationResult a_a2eMa) Int
- Experimenter.Result.Type: replicationResultKey :: forall a_a2Ko2. Lens' (ReplicationResult a_a2Ko2) (Key RepResult)
+ Experimenter.Result.Type: replicationResultKey :: forall a_a2eMa. Lens' (ReplicationResult a_a2eMa) (Key RepResult)
- Experimenter.Result.Type: resultDataKey :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) ResultDataKey
+ Experimenter.Result.Type: resultDataKey :: forall a_a2eEi. Lens' (ResultData a_a2eEi) ResultDataKey
- Experimenter.Result.Type: results :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) (AvailabilityList (ExpM a_a2Kg1) Measure)
+ Experimenter.Result.Type: results :: forall a_a2eEi. Lens' (ResultData a_a2eEi) (AvailabilityList (ExpM a_a2eEi) Measure)
- Experimenter.Result.Type: startInputState :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) (InputState a_a2Kg1)
+ Experimenter.Result.Type: startInputState :: forall a_a2eEi. Lens' (ResultData a_a2eEi) (InputState a_a2eEi)
- Experimenter.Result.Type: startRandGen :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) GenIO
+ Experimenter.Result.Type: startRandGen :: forall a_a2eEi. Lens' (ResultData a_a2eEi) GenIO
- Experimenter.Result.Type: startState :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) (Availability (ExpM a_a2Kg1) a_a2Kg1)
+ Experimenter.Result.Type: startState :: forall a_a2eEi. Lens' (ResultData a_a2eEi) (Availability (ExpM a_a2eEi) a_a2eEi)
- Experimenter.Result.Type: startTime :: forall a_a2Kg1. Lens' (ResultData a_a2Kg1) UTCTime
+ Experimenter.Result.Type: startTime :: forall a_a2eEi. Lens' (ResultData a_a2eEi) UTCTime
- Experimenter.Result.Type: warmUpResults :: forall a_a2Ko2. Lens' (ReplicationResult a_a2Ko2) (Maybe (ResultData a_a2Ko2))
+ Experimenter.Result.Type: warmUpResults :: forall a_a2eMa. Lens' (ReplicationResult a_a2eMa) (Maybe (ResultData a_a2eMa))
Files
- ChangeLog.md +5/−1
- LICENSE +28/−2
- config/models +28/−28
- experimenter.cabal +6/−5
- src/Experimenter.hs +1/−0
- src/Experimenter/Eval/Latex.hs +4/−4
- src/Experimenter/Eval/Table.hs +5/−2
- src/Experimenter/Experiment.hs +5/−1
- src/Experimenter/Load.hs +163/−0
- src/Experimenter/Models.hs +2/−1
- src/Experimenter/Run.hs +72/−91
ChangeLog.md view
@@ -1,6 +1,10 @@+ # Changelog for experimenter -Release 0.1.0.12 n 22.03.2021:+Release 0.1.0.14:+ - Vacuuming++Release 0.1.0.12 on 22.03.2021: - Bug fix when decreasing number of evaluations Release 0.1.0.10 on 15.03.2021:
LICENSE view
@@ -1,3 +1,29 @@-Copyright Manuel Schneckenreither (c) 2020+BSD 3-Clause License -BSD3, see https://opensource.org/licenses/BSD-3-Clause+Copyright (c) 2021, Manuel+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++1. Redistributions of source code must retain the above copyright notice, this+ list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright notice,+ this list of conditions and the following disclaimer in the documentation+ and/or other materials provided with the distribution.++3. Neither the name of the copyright holder nor the names of its+ contributors may be used to endorse or promote products derived from+ this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
config/models view
@@ -6,20 +6,20 @@ initialInputState ByteString ExpsInfoParam- exps ExpsId+ exps ExpsId OnDeleteCascade name Text value ByteString UniqueExpsInfoParam exps name ExpsMaster- exps ExpsId+ exps ExpsId OnDeleteCascade hostname Text pid Int lastAliveSign UTCTime UniqueExpsMaster exps ExpsSetup- exps ExpsId+ exps ExpsId OnDeleteCascade repetitions Int preparationSteps Int evaluationWarmUpSteps Int@@ -29,34 +29,34 @@ UniqueExpsSetup exps Param- exps ExpsId+ exps ExpsId OnDeleteCascade name Text minBound ByteString Maybe maxBound ByteString Maybe deriving Show Eq Ord Exp -- Adding "json" causes ToJSON and FromJSON instances to be derived.- exps ExpsId+ exps ExpsId OnDeleteCascade number Int startTime UTCTime endTime UTCTime Maybe deriving Eq Ord ExpExecutionLock- exp ExpId+ exp ExpId OnDeleteCascade hostname Text pid Int lastAliveSign UTCTime UniqueExpExecutionLock exp ExpProgress- exp ExpId+ exp ExpId OnDeleteCascade phase Int step Int UniqueExpProgress exp ParamSetting- exp ExpId+ exp ExpId OnDeleteCascade name Text value ByteString skipPreparationPhase Bool@@ -64,7 +64,7 @@ ExpResult- exp ExpId+ exp ExpId OnDeleteCascade repetition Int prepResultData PrepResultDataId Maybe @@ -79,39 +79,39 @@ endInputState ByteString Maybe PrepStartStatePart -- need to split big states into pieces- resultData PrepResultDataId+ resultData PrepResultDataId OnDeleteCascade number Int data ByteString UniquePrepStartStatePart resultData number PrepEndStatePart- resultData PrepResultDataId+ resultData PrepResultDataId OnDeleteCascade number Int data ByteString UniquePrepEndStatePart resultData number PrepInput- prepResultData PrepResultDataId+ prepResultData PrepResultDataId OnDeleteCascade period Int UniquePrepInput prepResultData period PrepInputValue- prepInput PrepInputId+ prepInput PrepInputId OnDeleteCascade value ByteString PrepMeasure- prepResultData PrepResultDataId+ prepResultData PrepResultDataId OnDeleteCascade period Int UniquePrepMeasure prepResultData period PrepResultStep- measure PrepMeasureId+ measure PrepMeasureId OnDeleteCascade name Text xValue Double Maybe yValue Double RepResult- expResult ExpResultId+ expResult ExpResultId OnDeleteCascade repNr Int warmUpResultData WarmUpResultDataId Maybe repResultData RepResultDataId Maybe@@ -128,13 +128,13 @@ endInputState ByteString Maybe WarmUpStartStatePart -- need to split big states into pieces- resultData WarmUpResultDataId+ resultData WarmUpResultDataId OnDeleteCascade number Int data ByteString UniqueWarmUpStartStatePart resultData number WarmUpEndStatePart- resultData WarmUpResultDataId+ resultData WarmUpResultDataId OnDeleteCascade number Int data ByteString UniqueWarmUpEndStatePart resultData number@@ -151,54 +151,54 @@ RepStartStatePart -- need to split big states into pieces- resultData RepResultDataId+ resultData RepResultDataId OnDeleteCascade number Int data ByteString UniqueRepStartStatePart resultData number RepEndStatePart- resultData RepResultDataId+ resultData RepResultDataId OnDeleteCascade number Int data ByteString UniqueRepEndStatePart resultData number WarmUpInput- repResult WarmUpResultDataId+ repResult WarmUpResultDataId OnDeleteCascade period Int UniqueWarmUpInput repResult period WarmUpInputValue- warmUpInput WarmUpInputId+ warmUpInput WarmUpInputId OnDeleteCascade value ByteString WarmUpMeasure- repResult WarmUpResultDataId+ repResult WarmUpResultDataId OnDeleteCascade period Int UniqueWarmUpMeasure repResult period WarmUpResultStep- measure WarmUpMeasureId+ measure WarmUpMeasureId OnDeleteCascade name Text xValue Double Maybe yValue Double RepInput- repResult RepResultDataId+ repResult RepResultDataId OnDeleteCascade period Int UniqueRepInput repResult period RepInputValue- repInput RepInputId+ repInput RepInputId OnDeleteCascade value ByteString RepMeasure- repResult RepResultDataId+ repResult RepResultDataId OnDeleteCascade period Int UniqueRepMeasure repResult period RepResultStep- measure RepMeasureId+ measure RepMeasureId OnDeleteCascade name Text xValue Double Maybe yValue Double
experimenter.cabal view
@@ -1,21 +1,21 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack ----- hash: 74babbc2a0932968985e7a2b1535fb195c4303a3485ec96ba414c071efdc6f9e+-- hash: 09483e763a09034ab405201665dd8f5879d6938c3109181575ec01111ea2b2bd name: experimenter-version: 0.1.0.12+version: 0.1.0.14 synopsis: Perform scientific experiments stored in a DB, and generate reports. description: Please see the README on GitHub at <https://github.com/schnecki/experimenter#readme> category: Experiment homepage: https://github.com/schnecki/experimenter#readme bug-reports: https://github.com/schnecki/experimenter/issues author: Manuel Schneckenreither-maintainer: manuel.schneckenreither@uibk.ac.at-copyright: 2021 Manuel Schneckenreither+maintainer: manuel.schneckenreither@student.uibk.ac.at+copyright: 2022 Manuel Schneckenreither license: BSD3 license-file: LICENSE build-type: Simple@@ -52,6 +52,7 @@ Experimenter.Eval.Util Experimenter.Experiment Experimenter.Input+ Experimenter.Load Experimenter.MasterSlave Experimenter.Measure Experimenter.Models
src/Experimenter.hs view
@@ -6,6 +6,7 @@ import Experimenter.Eval as E import Experimenter.Experiment as E import Experimenter.Input as E+import Experimenter.Load as E import Experimenter.Measure as E import Experimenter.Models as E import Experimenter.Parameter as E
src/Experimenter/Eval/Latex.hs view
@@ -34,8 +34,8 @@ import Text.LaTeX.Packages.TabularX import Experimenter.Availability-import Experimenter.DatabaseSetting import Experimenter.DB+import Experimenter.DatabaseSetting import Experimenter.Eval.Table import Experimenter.Eval.Type import Experimenter.Eval.Util@@ -84,7 +84,7 @@ documentclass [] article user <- liftIO getLoginName author ("Username: " <> fromString user)- title $ "Evaluation for ``" <> raw n <> "''"+ title $ "Evaluation for ``" <> raw (dereferLatex n) <> "''" usepackage [utf8] inputenc usepackage [] "fullpage" usepackage [] "array"@@ -189,7 +189,7 @@ printTableWithName :: (MonadLogger m) => (StatsDef a, Table) -> LaTeXT m () printTableWithName (nm, tbl) = do- paragraph (raw $ prettyStatsDef nm)+ paragraph (raw $ dereferLatex $ prettyStatsDef nm) printTable tbl @@ -298,7 +298,7 @@ [ CellT n , CellL $ raw (dereferLatex $ tshow val) <> (case mBounds of- Nothing -> ""+ Nothing -> "" Just (minVal, maxVal) -> math (text " " `in_` autoParens (text (raw (dereferLatex $ tshow minVal)) <> ", " <> text (raw (dereferLatex $ tshow maxVal))))) <> (if drp then " [SkipPrepPhase]"
src/Experimenter/Eval/Table.hs view
@@ -46,7 +46,10 @@ fromString = CellT . T.pack dereferLatex :: T.Text -> T.Text-dereferLatex = protectText . T.replace "{" "\\{" . T.replace "}" "\\}" . T.replace "_" "\\_"+dereferLatex x = protectText $ foldl' (\x' (f, t) -> T.replace f t x') x list+ where+ list :: [(T.Text, T.Text)]+ list = [("{", "\\{"), ("}", "\\}"), ("_", "\\_"), ("_", "\\_"), ("%", "\\%"), ("^", "\\^"), ("~", "\\~"), ("$", "\\$")] printTextwidthTable :: (MonadLogger m) => Table -> LaTeXT m () printTextwidthTable = printTableTabularX True@@ -64,7 +67,7 @@ where content = hline <> printRow textbf header <> hline <> mconcat (map (printRow id) rows) <> hline printRow :: (LaTeXC l) => (l -> l) -> Row -> l- printRow _ (Row []) = mempty+ printRow _ (Row []) = mempty printRow f (Row (c:cs)) = foldl' (&) (f $ printCell c) (map (f . printCell) cs) <> lnbk printCell :: (LaTeXC l) => Cell -> l printCell (CellT txt) = raw (dereferLatex txt)
src/Experimenter/Experiment.hs view
@@ -10,8 +10,8 @@ import Control.DeepSeq import Control.Monad.IO.Unlift-import Data.Serialize (Serialize) import Data.Kind+import Data.Serialize (Serialize) import System.Random.MWC import Experimenter.Parameter@@ -81,6 +81,10 @@ deserialisable = return -- HOOKS++ -- | Function to call before starting the experiment, but after setting the parameters. E.g. one could recereate an ANN, if the structure may have changed with a parameter.+ beforeExperimentStartHook :: ExperimentNumber -> a -> ExpM a a+ beforeExperimentStartHook _ = return -- | Function to call on the state before the preparation. This function is only executed if the preparation phase -- exists (that is >0 preparation steps) and is started from period 0!
+ src/Experimenter/Load.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TupleSections #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}++module Experimenter.Load+ ( OnlyFinishedExperiments+ , DatabaseSetting (..)+ , loadExperimentsResultsM+ , loadExperimentPrepEndStateIO+ , loadExperimentPrepEndState+ ) where+++import Control.Arrow (first, second, (&&&), (***))+import Control.Concurrent.MVar+import Control.DeepSeq+import Control.Lens+import Control.Monad.IO.Class+import Control.Monad.Logger (filterLogger, logDebug, logError, logInfo, runStdoutLoggingT)+import Control.Monad.Reader+import Control.Monad.Trans.Maybe+import qualified Data.ByteString as B+import Data.Function (on)+import Data.IORef+import Data.Int (Int64)+import Data.List (foldl')+import qualified Data.List as L+import Data.Maybe (catMaybes, fromJust, fromMaybe, isJust, isNothing)+import Data.Serialize hiding (get)+import qualified Data.Serialize as S+import qualified Data.Text as T+import Data.Time (addUTCTime, diffUTCTime, getCurrentTime)+import qualified Data.Vector as V+import Database.Persist.Postgresql+import GHC.Generics+import Network.HostName (getHostName)+import Prelude hiding (exp)+import System.IO+import System.IO.Unsafe (unsafePerformIO)+import System.Posix.Process+import System.Random.MWC+import Text.Read (readMaybe)++import Experimenter.Availability+import Experimenter.DB+import Experimenter.DatabaseSetting+import Experimenter.Experiment+import Experimenter.Input+import Experimenter.MasterSlave+import Experimenter.Measure+import Experimenter.Models+import Experimenter.Parameter+import Experimenter.Result+import Experimenter.Result.Query+import Experimenter.Setting+import Experimenter.StepResult+import Experimenter.Util+++type OnlyFinishedExperiments = Bool+++loadExperimentsResultsM ::+ (ExperimentDef a)+ => OnlyFinishedExperiments+ -> (ExpM a (Maybe (Experiments a)) -> IO (Maybe (Experiments a)))+ -> DatabaseSetting+ -> MkExperimentSetting a+ -> InputState a+ -> ExpM a a+ -> Int64+ -> IO (Maybe (Experiments a))+loadExperimentsResultsM filtFin runExpM dbSetup setup initInpSt mkInitSt key =+ runExpM $ runDB dbSetup $ do+ initSt <- lift $ lift $ lift mkInitSt+ let sett = setup initSt+ skipPrep exp' = any (^. parameterSettingSkipPreparationPhase) (exp' ^. parameterSetup)+ isFinished exp' =+ length (exp' ^. experimentResults) == sett ^. experimentRepetitions && -- repetitions+ (skipPrep exp' || all (\expRes -> maybe 0 (lengthAvailabilityList . view results) (expRes ^. preparationResults) == sett ^. preparationSteps) (exp' ^. experimentResults)) && -- preparation length+ all (\expRes -> length (expRes ^. evaluationResults) == sett ^. evaluationReplications) (exp' ^. experimentResults) && -- replications+ all+ (\expRes -> maybe 0 (lengthAvailabilityList . view results) (expRes ^. warmUpResults) == sett ^. evaluationWarmUpSteps)+ (exp' ^. experimentResults . traversed . evaluationResults) && -- warm up length+ all+ (\expRes -> maybe 0 (lengthAvailabilityList . view results) (expRes ^. evalResults) == sett ^. evaluationSteps)+ (exp' ^. experimentResults . traversed . evaluationResults) -- eval length+ filterFinished =+ over+ experiments+ (if filtFin+ then filter isFinished+ else id)+ fmap filterFinished <$> loadExperimentsResults sett initInpSt initSt (toSqlKey key)+++readValueSafe :: (Read a) => IO (Maybe a)+readValueSafe = do+ liftIO $ putStr "Enter value: " >> hFlush stdout+ readMaybe <$> getLine+++readListValueSafeName :: [(a, T.Text)] -> IO (Maybe a)+readListValueSafeName xs = do+ mapM_ (\(nr, (_, n)) -> putStrLn $ show nr <> ":\t " <> T.unpack n) $ zip [(0 :: Int) ..] xs+ mNr <- readValueSafe+ return $+ case mNr of+ Just nr+ | nr >= 0 && nr < length xs -> Just $ fst $ xs !! nr+ _ -> Nothing+++-- | Convert a 'Maybe' computation to 'MaybeT'.+hoistMaybe :: (Applicative m) => Maybe b -> MaybeT m b+hoistMaybe = MaybeT . pure+++loadExperimentPrepEndStateIO :: (ExpM a ~ IO, ExperimentDef a) => DatabaseSetting -> IO (Maybe a)+loadExperimentPrepEndStateIO = loadExperimentPrepEndState id+++loadExperimentPrepEndState ::+ forall a. (ExperimentDef a)+ => (ExpM a (Maybe a) -> IO (Maybe a))+ -> DatabaseSetting+ -> IO (Maybe a)+loadExperimentPrepEndState runExpM dbSetup =+ runExpM $+ runDB dbSetup $+ runMaybeT $ do+ liftIO $ putStrLn "From which experiment do you want to load the data? "+ exps <- lift $ selectList [] []+ let expsNames :: [(Key Exps, T.Text)]+ expsNames = map (entityKey &&& (^. expsName) . entityVal) exps+ (expsKey :: Key Exps) <- MaybeT $ liftIO $ readListValueSafeName expsNames+ exp <- lift $ selectList [ExpExps ==. expsKey] []+ (expKey :: Key Exp) <-+ if length exp == 1+ then return $ entityKey $ head exp+ else do+ liftIO $ putStrLn "Which experiment number?"+ let expNrs = sortOnSnd $ map (entityKey &&& tshow . (^. expNumber) . entityVal) exp+ MaybeT $ liftIO $ readListValueSafeName expNrs+ reps <- lift $ selectList [ExpResultExp ==. expKey] []+ liftIO $ putStrLn "And from which experiment repetition?"++ let+ repNames :: [(Key PrepResultData, T.Text)]+ repNames = sortOnSnd $ map (first fromJust) $ filter (isJust . fst) $ map ((^. expResultPrepResultData) . entityVal &&& tshow . (^. expResultRepetition) . entityVal) reps+ rep <- MaybeT $ liftIO $ readListValueSafeName repNames+ let endStateType = EndStatePrep rep+ ma <- lift (loadResDataEndState expKey endStateType :: DB (ExpM a) (Maybe a))+ hoistMaybe ma+ where sortOnSnd = L.sortBy (compare `on` snd)
src/Experimenter/Models.hs view
@@ -24,5 +24,6 @@ import Database.Persist.TH -share [mkPersist sqlSettings {mpsGenerateLenses = True}, mkDeleteCascade sqlSettings, mkMigrate "migrateAll"]+share [mkPersist sqlSettings {mpsGenerateLenses = True}, -- mkDeleteCascade sqlSettings,+ mkMigrate "migrateAll"] $(persistFileWith lowerCaseSettings "config/models")
src/Experimenter/Run.hs view
@@ -19,30 +19,28 @@ , runExperiments , runExperimentsM , runExperimentsIO- , loadExperimentsResultsM- , loadStateAfterPreparation- , loadStateAfterPreparation2+ -- , loadStateAfterPreparation+ -- , loadStateAfterPreparation2 ) where -import Control.Arrow (first, (&&&), (***))-import Control.Arrow (second)+import Control.Arrow (first, second, (&&&), (***)) import Control.Concurrent.MVar import Control.DeepSeq import Control.Lens import Control.Monad.IO.Class-import Control.Monad.Logger (filterLogger, logDebug, logError, logInfo,- runStdoutLoggingT)+import Control.Monad.Logger (filterLogger, logDebug, logError, logInfo, runStdoutLoggingT) import Control.Monad.Reader import qualified Data.ByteString as B import Data.Function (on)-import Data.Int (Int64) import Data.IORef+import Data.Int (Int64) import Data.List (foldl') import qualified Data.List as L import Data.Maybe (fromJust, fromMaybe, isNothing) import Data.Serialize hiding (get) import qualified Data.Serialize as S import qualified Data.Text as T+import qualified Data.Text.Encoding as E import Data.Time (addUTCTime, diffUTCTime, getCurrentTime) import qualified Data.Vector as V import Database.Persist.Postgresql@@ -52,12 +50,13 @@ import System.IO import System.IO.Unsafe (unsafePerformIO) import System.Posix.Process+import System.Process (callProcess, spawnProcess) import System.Random.MWC import Experimenter.Availability-import Experimenter.DatabaseSetting import Experimenter.DB+import Experimenter.DatabaseSetting import Experimenter.Experiment import Experimenter.Input import Experimenter.MasterSlave@@ -99,86 +98,67 @@ runStdoutLoggingT $ withPostgresqlPool (connectionString dbSetup) (parallelConnections dbSetup) $ liftSqlPersistMPool $ runMigration migrateAll >> indexCreation runExpM $ runDB dbSetup $ do+ -- liftIO $ putStrLn "Running maintainance command: VACUUM"+ -- rawExecute "VACUUM" []+ liftIO $ vacuum dbSetup initSt <- lift $ lift $ lift mkInitSt $(logInfo) "Created initial state and will now check the DB for loading or creating experiments" let expSetting = setup initSt loadExperiments expSetting initInpSt initSt >>= checkUniqueParamNames >>= runExperimenter dbSetup expSetting initInpSt initSt +-- | Vacuum the database. Usually you should not use 'full'! As it takes much longer and the table is locked for the duration of the process..+vacuum :: DatabaseSetting -> IO ()+vacuum (DatabaseSetting bs _) = do+ let baseTxt = foldl' (\ts (from, to) -> map (T.strip . T.replace from to) ts) (T.splitOn " " $ E.decodeUtf8 bs) [("dbname=", "--dbname="), ("host=", "--host="), ("port=", "--port="), ("user=", "--username=")]+ txts = filter (not . T.isInfixOf "password=") baseTxt ++ ["-w"] -- Do *not* use full! ["-f" | full]+ runStdoutLoggingT $ $(logInfo) $ "Running: vacuumdb " <> T.intercalate " " txts+ callProcess "vacuumdb" (map T.unpack txts) -loadStateAfterPreparation2 ::- ExperimentDef a => (ExpM a b -> IO b) -> DatabaseSetting -> (a -> ExperimentSetting) -> InputState a -> ExpM a a -> Int -> Int -> (a -> ExpM a b) -> IO b-loadStateAfterPreparation2 runExpM dbSetup setup initInpSt mkInitSt expNr repNr runOnExperiments = do- runStdoutLoggingT $ withPostgresqlPool (connectionString dbSetup) (parallelConnections dbSetup) $ liftSqlPersistMPool $ runMigration migrateAll- runExpM $ runDB dbSetup $ do- initSt <- lift $ lift $ lift mkInitSt- $(logInfo) "Created initial state and will now check the DB for loading or creating experiments"- let expSetting = setup initSt- exps <- loadExperiments expSetting initInpSt initSt- let xs = exps ^.. experiments . traversed . filtered isExp . experimentResults . traversed . filtered isExpRep . preparationResults . traversed . endState- isExp x = x ^. experimentNumber == expNr- isExpRep x = x ^. repetitionNumber == repNr- fromAvailable (Available x) = x- fromAvailable _ = error "unexpected AvailableOnDemand in loadStateAfterPreparation"- borl <- fromAvailable <$> mkAvailable (head xs)- $(logInfo) "Made BORL available"- lift $ lift $ lift $ runOnExperiments (fromJust borl)+ -- vacuumdb --host=localhost --port=5432 --username=experimenter -w experimenter + -- [-d experimenter - f - h HOST - p PORT - u USER - q]+ -- "host=localhost dbname=experimenter user=experimenter password= port=5432" -loadStateAfterPreparation :: (ExperimentDef a) => DatabaseSetting -> Int64 -> Int -> Int -> ExpM a (Maybe a)-loadStateAfterPreparation dbSetup expsId expNr _ =- runStdoutLoggingT $- filterLogger (\s _ -> s /= "SQL") $- withPostgresqlConn (connectionString dbSetup) $ \(backend :: SqlBackend) ->- flip runSqlConn backend $ do- (Entity expId _) <- fromMaybe (error "experiments not found") <$> selectFirst [ExpExps ==. toSqlKey expsId, ExpNumber ==. expNr] []- (Entity _ expRes) <- fromMaybe (error "experiment not found") <$> selectFirst [ExpResultExp ==. expId] []- case expRes ^. expResultPrepResultData of- Nothing -> return Nothing- Just prepResDataId -> do- parts' <- fmap (view prepEndStatePartData . entityVal) <$> selectList [PrepEndStatePartResultData ==. prepResDataId] [Asc PrepEndStatePartNumber]- if null parts'- then return Nothing- else do- !mSer <- lift $! deserialise (T.pack "end state") (B.concat parts')- !res <- lift $! lift $ maybe (return Nothing) (fmap Just . deserialisable) mSer- force <$!> traverse (setParams expId) res -type OnlyFinishedExperiments = Bool+-- loadStateAfterPreparation2 ::+-- ExperimentDef a => (ExpM a b -> IO b) -> DatabaseSetting -> (a -> ExperimentSetting) -> InputState a -> ExpM a a -> Int -> Int -> (a -> ExpM a b) -> IO b+-- loadStateAfterPreparation2 runExpM dbSetup setup initInpSt mkInitSt expNr repNr runOnExperiments = do+-- runStdoutLoggingT $ withPostgresqlPool (connectionString dbSetup) (parallelConnections dbSetup) $ liftSqlPersistMPool $ runMigration migrateAll+-- runExpM $ runDB dbSetup $ do+-- initSt <- lift $ lift $ lift mkInitSt+-- $(logInfo) "Created initial state and will now check the DB for loading or creating experiments"+-- let expSetting = setup initSt+-- exps <- loadExperiments expSetting initInpSt initSt+-- let xs = exps ^.. experiments . traversed . filtered isExp . experimentResults . traversed . filtered isExpRep . preparationResults . traversed . endState+-- isExp x = x ^. experimentNumber == expNr+-- isExpRep x = x ^. repetitionNumber == repNr+-- fromAvailable (Available x) = x+-- fromAvailable _ = error "unexpected AvailableOnDemand in loadStateAfterPreparation"+-- borl <- fromAvailable <$> mkAvailable (head xs)+-- $(logInfo) "Made BORL available"+-- lift $ lift $ lift $ runOnExperiments (fromJust borl) -loadExperimentsResultsM ::- (ExperimentDef a)- => OnlyFinishedExperiments- -> (ExpM a (Maybe (Experiments a)) -> IO (Maybe (Experiments a)))- -> DatabaseSetting- -> MkExperimentSetting a- -> InputState a- -> ExpM a a- -> Int64- -> IO (Maybe (Experiments a))-loadExperimentsResultsM filtFin runExpM dbSetup setup initInpSt mkInitSt key =- runExpM $ runDB dbSetup $ do- initSt <- lift $ lift $ lift mkInitSt- let sett = setup initSt- skipPrep exp' = any (^. parameterSettingSkipPreparationPhase) (exp' ^. parameterSetup)- isFinished exp' =- length (exp' ^. experimentResults) == sett ^. experimentRepetitions && -- repetitions- (skipPrep exp' || all (\expRes -> maybe 0 (lengthAvailabilityList . view results) (expRes ^. preparationResults) == sett ^. preparationSteps) (exp' ^. experimentResults)) && -- preparation length- all (\expRes -> length (expRes ^. evaluationResults) == sett ^. evaluationReplications) (exp' ^. experimentResults) && -- replications- all- (\expRes -> maybe 0 (lengthAvailabilityList . view results) (expRes ^. warmUpResults) == sett ^. evaluationWarmUpSteps)- (exp' ^. experimentResults . traversed . evaluationResults) && -- warm up length- all- (\expRes -> maybe 0 (lengthAvailabilityList . view results) (expRes ^. evalResults) == sett ^. evaluationSteps)- (exp' ^. experimentResults . traversed . evaluationResults) -- eval length- filterFinished =- over- experiments- (if filtFin- then filter isFinished- else id)- fmap filterFinished <$> loadExperimentsResults sett initInpSt initSt (toSqlKey key) +-- loadStateAfterPreparation :: (ExperimentDef a) => DatabaseSetting -> Int64 -> Int -> Int -> ExpM a (Maybe a)+-- loadStateAfterPreparation dbSetup expsId expNr _ =+-- runStdoutLoggingT $+-- filterLogger (\s _ -> s /= "SQL") $+-- withPostgresqlConn (connectionString dbSetup) $ \(backend :: SqlBackend) ->+-- flip runSqlConn backend $ do+-- (Entity expId _) <- fromMaybe (error "experiments not found") <$> selectFirst [ExpExps ==. toSqlKey expsId, ExpNumber ==. expNr] []+-- (Entity _ expRes) <- fromMaybe (error "experiment not found") <$> selectFirst [ExpResultExp ==. expId] []+-- case expRes ^. expResultPrepResultData of+-- Nothing -> return Nothing+-- Just prepResDataId -> do+-- parts' <- fmap (view prepEndStatePartData . entityVal) <$> selectList [PrepEndStatePartResultData ==. prepResDataId] [Asc PrepEndStatePartNumber]+-- if null parts'+-- then return Nothing+-- else do+-- !mSer <- lift $! deserialise (T.pack "end state") (B.concat parts')+-- !res <- lift $! lift $ maybe (return Nothing) (fmap Just . deserialisable) mSer+-- force <$!> traverse (setParams expId) res + checkUniqueParamNames :: (Monad m) => Experiments a -> m (Experiments a) checkUniqueParamNames exps = do let paramNames = map parameterName (view experimentsParameters exps)@@ -376,11 +356,11 @@ _ -> [ParameterSetting n vBs drp (toEnum dsgn)] -- deleteExperiment :: (MonadIO m) => Experiment a -> DB m ()--- deleteExperiment (Experiment k _ _ _ _ expRes) = mapM_ deleteExperimentResult expRes >> deleteCascade k+-- deleteExperiment (Experiment k _ _ _ _ expRes) = mapM_ deleteExperimentResult expRes >> delete k deleteExperimentResult :: (MonadIO m) => ExperimentResult a -> DB m ()-deleteExperimentResult (ExperimentResult k _ _ repls) = mapM_ deleteReplicationResult repls >> deleteCascade k+deleteExperimentResult (ExperimentResult k _ _ repls) = mapM_ deleteReplicationResult repls >> delete k -- | Loads parameters of an experiment into all initial and end states of the given experiments variable.@@ -434,6 +414,7 @@ eTime <- return <$> liftIO getCurrentTime update (exp ^. experimentKey) [ExpEndTime =. eTime] delete lock+ liftIO $ vacuum dbSetup return (updated, set experimentResults res $ set experimentEndTime eTime exp) else delete lock >> return (updated, set experimentResults res exp) where@@ -528,6 +509,7 @@ -> ExperimentResult a -> DB (ExpM a) (Updated, ExperimentResult a) runExperimentResult skipPrep rands@(prepRands, _, _) exps expId expNr expRes = do+ expInitSt <- lift $ lift $ lift $ beforeExperimentStartHook expNr (exps ^. experimentsInitialState) let repetNr = expRes ^. repetitionNumber let prepSeed = prepRands !! (repetNr - 1) (prepInitSt, delPrep) <-@@ -557,7 +539,6 @@ res = map snd repRes return (prepUpdated || updated, set preparationResults prepRes $ set evaluationResults res expRes) where- expInitSt = exps ^. experimentsInitialState expResId = expRes ^. experimentResultKey deleteTruncatedRepRes :: (MonadIO m) => Experiments a -> [ReplicationResult a] -> DB m [ReplicationResult a] deleteTruncatedRepRes exps' xs@@ -731,7 +712,7 @@ deleteReplicationResult (ReplicationResult repResId _ _ _) = deleteResultData (WarmUp repResId) >> deleteResultData (Rep repResId) >>- deleteCascade repResId+ delete repResId deleteResultData :: (MonadIO m) => RepResultType -> DB m ()@@ -740,15 +721,15 @@ Prep expResId -> do update expResId [ExpResultPrepResultData =. Nothing] exp <- get expResId- sequence_ $ deleteCascade <$> (view expResultPrepResultData =<< exp)+ sequence_ $ delete <$> (view expResultPrepResultData =<< exp) WarmUp repResId -> do update repResId [RepResultWarmUpResultData =. Nothing] repRes <- get repResId- sequence_ $ deleteCascade <$> (view repResultWarmUpResultData =<< repRes)+ sequence_ $ delete <$> (view repResultWarmUpResultData =<< repRes) Rep repResId -> do update repResId [RepResultRepResultData =. Nothing] repRes <- get repResId- sequence_ $ deleteCascade <$> (view repResultRepResultData =<< repRes)+ sequence_ $ delete <$> (view repResultRepResultData =<< repRes) foldM' :: (NFData a, Monad m) => (a -> b -> m a) -> a -> [b] -> m a foldM' _ !acc [] = return acc@@ -852,14 +833,14 @@ isNew = curLen == 0 mkStartStateAvailableOnDemand = case resData ^. resultDataKey of- ResultDataPrep key -> AvailableOnDemand $ loadResDataStartState expId (StartStatePrep key)+ ResultDataPrep key -> AvailableOnDemand $ loadResDataStartState expId (StartStatePrep key) ResultDataWarmUp key -> AvailableOnDemand $ loadResDataStartState expId (StartStateWarmUp key)- ResultDataRep key -> AvailableOnDemand $ loadResDataStartState expId (StartStateRep key)+ ResultDataRep key -> AvailableOnDemand $ loadResDataStartState expId (StartStateRep key) mkEndStateAvailableOnDemand = case resData ^. resultDataKey of- ResultDataPrep key -> AvailableOnDemand $ loadResDataEndState expId (EndStatePrep key)+ ResultDataPrep key -> AvailableOnDemand $ loadResDataEndState expId (EndStatePrep key) ResultDataWarmUp key -> AvailableOnDemand $ loadResDataEndState expId (EndStateWarmUp key)- ResultDataRep key -> AvailableOnDemand $ loadResDataEndState expId (EndStateRep key)+ ResultDataRep key -> AvailableOnDemand $ loadResDataEndState expId (EndStateRep key) addInputValsAndMeasure !inputVals !measures !resData' = let countResults' = lengthAvailabilityList (resData' ^. results) + V.length measures countInputValues' = lengthAvailabilityList (resData' ^. inputValues) + V.length inputVals@@ -867,7 +848,7 @@ inputValsList = V.toList inputVals in case resData' ^. resultDataKey of ResultDataPrep key -> do- when delInputs $ deleteCascadeWhere [PrepInputPrepResultData ==. key, PrepInputPeriod >=. curLen + 1]+ when delInputs $ deleteWhere [PrepInputPrepResultData ==. key, PrepInputPeriod >=. curLen + 1] inpKeys <- insertMany $ map (PrepInput key . view inputValuePeriod) inputValsList insertMany_ $ zipWith (\k v -> PrepInputValue k (runPut . put . view inputValue $ v)) inpKeys inputValsList measureKeys <- insertMany . map (PrepMeasure key . view measurePeriod) $ measuresList@@ -876,7 +857,7 @@ AvailableListOnDemand (countInputValues', loadPreparationInputWhere key) $ resData' ResultDataWarmUp key -> do- when delInputs $ deleteCascadeWhere [WarmUpInputRepResult ==. key, WarmUpInputPeriod >=. curLen + 1]+ when delInputs $ deleteWhere [WarmUpInputRepResult ==. key, WarmUpInputPeriod >=. curLen + 1] inpKeys <- insertMany $ map (WarmUpInput key . view inputValuePeriod) inputValsList insertMany_ $ zipWith (\k v -> WarmUpInputValue k (runPut . put . view inputValue $ v)) inpKeys inputValsList measureKeys <- insertMany $ map (WarmUpMeasure key . view measurePeriod) measuresList@@ -885,7 +866,7 @@ AvailableListOnDemand (countInputValues', loadReplicationWarmUpInputWhere key) $ resData' ResultDataRep key -> do- when delInputs $ deleteCascadeWhere [RepInputRepResult ==. key, RepInputPeriod >=. curLen + 1]+ when delInputs $ deleteWhere [RepInputRepResult ==. key, RepInputPeriod >=. curLen + 1] inpKeys <- insertMany $ map (RepInput key . view inputValuePeriod) inputValsList insertMany_ $ zipWith (\k v -> RepInputValue k (runPut . put . view inputValue $ v)) inpKeys inputValsList measureKeys <- insertMany $ map (RepMeasure key . view measurePeriod) measuresList