úÎ ,ý+ù(C) 2017 Merijn Verstraaten BSD-style (see the file LICENSE)+Merijn Verstraaten <merijn@inconsistent.nl> experimentalhahaSafe &'-FSTV+µ-Sets of parameters to generate the tree from.AType family that converts a type level list into a function type: [,  ,  ] r =  ->   ->   ->   -> r;A simple parameter set. The tree label is a combination of  &ing the value and the parameter name.ˆA derived parameter set. Useful when the input expected by your function can't be conveniently rendered as a string label. For example:  (  0) "My Parameter" [1,2,5]The above passed   0 1,   0 2f, etc. to your function, while labelling them as "1 My Parameter" and "2 My Parameter" respectively.DA simple parameter set with a more flexible way of showing values,  is equivalent to displayParam show.€A completely customisable parameter set, allows specification of how to display values and how to derive values. Equivalencies:  =      =    = \f ->  f ~Combine multiple sets of parameters into one. Allows a limited amount of control over which combinations appear. For example:  [  "Bool" [True] .  "Char" "xy" ,  "Bool" [True,False] .  "Char" "a" ] HThe result is "axy" being used in groups where the "Bool" parameter is True, if the "Bool" parameter is False only "a" is used.ÆGenerate a tree from a function that produces a leaf and sets of parameters. Useful for generating tasty TestTrees or criterion benchmark trees from a function and a set of parameter. For example: nimport Test.Tasty import Test.Tasty.HUnit genTestCase :: Int -> Bool -> Char -> String -> TestTree params =  "Int" [1,2] .  "Bool" [True] . Ž "Char" "xyz" main :: IO () main = defaultMain $ testTree genTestCase params where testTree = growTree (Just "/") testGroup "my tests" KThis generates a tasty TestTree with all combinations of values passed to  genTestCase . If the   ÿ/ argument is provided like in the above example, groups with a single entry, such as "Bool" get collapsed into their parent groups. So instead of a "1 Int" group containing a "True Bool" group they get collapsed into a single "1 Int/True Bool" group, where the "/" separator is the one specified by  "/"Name of the parameterSet of values to useParameter derivation functionName of the parameterSet of values to derive frommGroups containing a single entry are skipped and their label is appended to their child, separated by this   if not .'Tree labelling function, e.g. tasty's  testGroup or criterion's bgroupLabel for the root of the treeJFunction that produces leafs, such as tasty tests or criterion benchmarks Parameter sets to grow tree from   paramtree-0.1.1.1-inplace ParamTreeParamsParamFun simpleParam derivedParam displayParam customParam paramSetsgrowTreeghc-prim GHC.TypesCharIntBoolbaseGHC.BaseStringGHC.ShowshowGHC.Enum enumFromToidMaybeJustNothing