array-forth- A simple interpreter for arrayForth, the language used on GreenArrays chips.

Safe HaskellNone




data DefaultScore Source

A score type that contains a correctness value and a performance value.


DefaultScore Double Double 

trace :: Monoid score => Program -> [State] -> (Trace -> Trace -> score) -> Program -> scoreSource

Creates an evaluation function from a spec, a set of inputs and a function for comparing program traces.

withPerformance :: Score s => (Trace -> Trace -> s) -> Trace -> Trace -> DefaultScoreSource

Using a given correctness measure, produce a score also containing performance.

evaluate :: Program -> [State] -> (State -> State -> Distance) -> Program -> DefaultScoreSource

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.

defaultOps :: Distr InstructionSource

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.

defaultMutations :: Mutation ProgramSource

The default mutations to try. For now, this will either change an instruction or swap two instructions in the program, with equal probability.