Changelog of @hackage/code-conjure 0.3.4

Changelog for (Code) Conjure

v0.3.4

  • reallow recursions under && and || (simplifies the generated or, and, set and elem functions)
  • only require deconstructions on a non-empty subset of arguments (allows fib01 to be produced)
  • limit number of terminal evaluations in recursiveToDynamic
  • fix bug in recursiveToDynamic (not counting some recursions)
  • add 4 new benchmarks: count, gcd, tree and setelem

v0.3.2

  • significant runtime reduction in several benchmarks, e.g.:
    • take is now reachable in about 5 seconds
  • improved candidate generation:
    • faster runtime
    • fewer redundant/invalid candidates
  • limit recursive calls to use deconstructors
    • test to find deconstructors automatically
  • improve recursion evaluation method (revaluate replaces recursexpr)
  • add fibonacci benchmark
  • minor:
    • record runtimes with one decimal place instead of two
    • add longshot benchmark
    • add intercalate to the list benchmark
    • add stub Conjure.Constructors module

v0.3.0

  • only automatically include an if for the return type of the given function
  • add the take-drop benchmark
  • make bottom-up enumeration more type directed

v0.2.8

  • export the A, B, C, D, E and F helper types

v0.2.6

  • require Express v0.1.10 due to hasHole being now exported there
  • require Eq result on conjure1, conjure2 and conjure3
  • code cleanup and more tests

v0.2.4

  • allow conjuring from specifications in addition to partial definitions (conjure1, conjure2, conjure3 and related functions)
  • improve examples
  • improve criteria for automatic primitive inclusion:
    • only include if :: ... -> Bool if there are Bool primitives
    • include False and True automatically only on Speculate's background
  • add code-optional candidate nubbing and debug functions

v0.2.2

  • by default, search for 60 argument combinations among 100000 enumerated combinations

v0.2.0

  • search until 100% match is found and exit
  • other misc changes

v0.1.2

For the changelog of earlier versions, check the git commit history.