- data DefaultScore = DefaultScore Double Double
- trace :: Monoid score => Program -> [State] -> (Trace -> Trace -> score) -> Program -> score
- withPerformance :: Score s => (Trace -> Trace -> s) -> Trace -> Trace -> DefaultScore
- evaluate :: Program -> [State] -> (State -> State -> Distance) -> Program -> DefaultScore
- defaultOps :: Distr Instruction
- pairs :: [(Instruction, Instruction)]
- removePairs :: Distr Instruction -> Mutation Program
- defaultMutations :: Mutation Program
A score type that contains a correctness value and a performance value.
Creates an evaluation function from a spec, a set of inputs and a function for comparing program traces.
Using a given correctness measure, produce a score also containing performance.
Given a specification program and some inputs, evaluate a program against the specification for both performance and correctness. Normalize the score based on the number of test cases.
The default distribution of instructions. For now, we do not support any sort of jumps. All the other possible instructions along with constant numbers and unused slots are equally likely. The numeric value of constants is currently a uniform distribution over 18-bit words.