TODO for Conjure ================ A non-exhaustive list of things TO DO for Conjure. * reduce to unique `candidateExprs` through testing. We should only enumerate functions that were tested to be different. We can limit the tests to the ones that are defined in the given function. * use FitSpec's notation of `"factorial n"` to name the variables instead of just `"factorial"` * Automatically include `if`s and `==`s. Minor problem: typeclass folding is not possible for result values. * Automatically include background functions based on the argument types. The `Arguable` typeclass is a sketch of how to do that based on the `Generalizable` typeclass from the Extrapolate library. Though the implementation is quite crufty. * use partially defined implementations? partial :: ((Int -> Int) -> Int -> Int) -> (Int -> Int) partial impl = f where f n = if n == 0 then 1 else impl f n This file is part of Conjure, (C) 2021 Rudy Matela, Distribued under the 3-Clause BSD license.