TODO for Conjure
================
A non-exhaustive list of things TO DO for Conjure.
* pretty-print top-level ifs?
* carry on implementing all GPS benches while taking notes on the paper
* consider memoizing `recs ep` in `candidateDefnsC`
and a sub function with `vs` arguments.
* remove `requireDescent=False` requirement from `gcd`
(add and use `isDeconstruction`)
this would also eliminate the requirement of providing `dec`
* consider not breaking in some cases (increased crossproduct of patterns)
### for later
* allow specifying properties that need to be true
* allow recursion under any lazy functions (discover them by testing!)
* exclude magic numbers? e.g.: `1+1`?
* allow conjuring from 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
* consider discover orderings on arguments?
* consider leveraging lazyness somehow?
(related to allowing recursion under any lazy functions)
* consider leveraging polymorphism somehow?
* consider allowing lambdas that introduce free variables?
This file is part of Conjure,
(C) 2021 Rudy Matela,
Distribued under the 3-Clause BSD license.