modelling-tasks-0.0.0.1
Safe HaskellSafe-Inferred
LanguageHaskell2010

Modelling.Auxiliary.Shuffle.All

Description

Provides an interface to shuffle a taskInstance by providing a ShuffleInstance datatype.

This module provides all means of shuffling.

Synopsis

Documentation

data ShuffleInstance a Source #

A datatype that allows setting all available shuffling methods

Constructors

ShuffleInstance 

Fields

Instances

Instances details
Generic (ShuffleInstance a) Source # 
Instance details

Defined in Modelling.Auxiliary.Shuffle.All

Associated Types

type Rep (ShuffleInstance a) :: Type -> Type #

Read a => Read (ShuffleInstance a) Source # 
Instance details

Defined in Modelling.Auxiliary.Shuffle.All

Show a => Show (ShuffleInstance a) Source # 
Instance details

Defined in Modelling.Auxiliary.Shuffle.All

Eq a => Eq (ShuffleInstance a) Source # 
Instance details

Defined in Modelling.Auxiliary.Shuffle.All

type Rep (ShuffleInstance a) Source # 
Instance details

Defined in Modelling.Auxiliary.Shuffle.All

type Rep (ShuffleInstance a) = D1 ('MetaData "ShuffleInstance" "Modelling.Auxiliary.Shuffle.All" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "ShuffleInstance" 'PrefixI 'True) ((S1 ('MetaSel ('Just "taskInstance") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "allowLayoutMangling") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "shuffleNames") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "shuffleOptions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))

shuffleEverything :: (MonadRandom m, MonadThrow m, Randomise a, RandomiseLayout a, RandomiseNames a) => a -> m a Source #

Set all shuffling methods of ShuffleInstance to enabled.

shuffleInstance :: (MonadRandom m, MonadThrow m, Randomise a, RandomiseLayout a, RandomiseNames a) => ShuffleInstance a -> m a Source #

Shuffle a taskInstance based on enabled shuffling methods.

shuffleInstanceWith :: (RandomGen g, Randomise a, RandomiseLayout a, RandomiseNames a) => ShuffleInstance a -> g -> Either SomeException a Source #

Shuffle a taskInstance using shuffleInstance and catch exceptions.