packages feed

code-conjure-0.3.4: TODO.md

TODO for Conjure
================

A non-exhaustive list of things TO DO for Conjure.

* think about how can we allow gcd to be produced

* use holes for recursions, code will probably become cleaner
  (and possibly faster)

* generate functions with top-level case patterns:

        len []  =  0
        len (x:xs)  =  1 + len xs


### for later

* 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.