laborantin-hs- an experiment management framework

Safe HaskellNone




prepare :: MonadIO m => Backend m -> TExpr Bool -> [Execution m] -> ScenarioDescription m -> [m (Execution m)]Source

Prepare a list of execution actions for a given (scenario, parameter-query, existing) ancestors.

This function returns one action per ParameterSet which is required by the parameter-query and not yet present in the existing list of executions.

For instance, if the scenario has one parameter foo; the query wants foo in [1,2,3,4]; and there is one execution with foo == 2; then this function returns 3 actions (for parameters 1, 3, and 4).

A user can then run these actions in sequence (or concurrently if it makes sense).

load :: MonadIO m => Backend m -> [ScenarioDescription m] -> TExpr Bool -> m [Execution m]Source

Loads executions of given ScenarioDescription and matching a given query using a specific backend.

remove :: MonadIO m => Backend m -> Execution m -> m ()Source

Remove an execution using a specific backend.

runAnalyze :: (MonadIO m, Functor m) => Backend m -> Execution m -> m (Either AnalysisError ())Source

Runs the analysis hooks.

missingParameterSets :: ScenarioDescription m -> TExpr Bool -> [ParameterSet] -> [ParameterSet]Source

Like matchingParameterSets but also remove existing ParameterSet given as third parameter.

expandParameterSets :: ScenarioDescription m -> TExpr Bool -> [ParameterSet]Source

Expands parameters given a TExpr and a ScenarioDescription into a list of parameter spaces (sort of cartesian product of all possible params)