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.