Support toggling refiners as features
Currently, all refiners are executed each time a fuzzer is run. It would be beneficial to allow toggling refiners on or off from the command line.
This functionality is handled manually in Cish (visible in cish-main.rkt
) by generating an initial AST, then optionally proceeding to modify that AST. Refiners should make a similar process easy.
It's unclear how best to implement this functionality. Xsmith currently accepts a list of feature names via the #:features
parameter of the xsmith-command-line
function. Perhaps refiners can have an optional #:feature-name
parameter that, if specified, will automatically add the given feature name to the list of features. (An error should be raised if multiple features share a name.)