Skip to content

Commit

Permalink
add rewriting switch
Browse files Browse the repository at this point in the history
  • Loading branch information
rudymatela committed Feb 14, 2024
1 parent 37b9b97 commit 4ea4d79
Show file tree
Hide file tree
Showing 25 changed files with 28 additions and 25 deletions.
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/candidates.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9.4
9.7
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/carry-on.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0
2.7
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/gps.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
14.3
14.2
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/gps2.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
12.3
12.8
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/ill-hit.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.4
0.5
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/p12.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.7
1.6
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/redundants.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.9
3.0
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/take-drop.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.4
0.3
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/bench/terpret.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8.3
7.9
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/bools.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.6
1.7
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/bst.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.5
7.4
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/count.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.3
0.4
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/dupos.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.2
3.5
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/factorial.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.2
1.3
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/fib01.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3
1.7
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/fibonacci.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.1
4.4
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/higher.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.6
0.7
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/list.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0
1.1
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/maybe.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2
0.3
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/oddeven.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.4
1.6
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/pow.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.9
4.1
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/replicate.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.4
0.3
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/setelem.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3
1.1
2 changes: 1 addition & 1 deletion bench/runtime/lapmatrud/eg/tapps.runtime
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.4
0.5
5 changes: 4 additions & 1 deletion src/Conjure/Engine.hs
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ data Args = Args
, usePatterns :: Bool -- ^ use pattern matching to create (recursive) candidates

-- pruning options --
, rewriting :: Bool -- ^ unique-modulo-rewriting candidates
, requireDescent :: Bool -- ^ require recursive calls to deconstruct arguments
, adHocRedundancy :: Bool -- ^ ad-hoc redundancy checks
, copyBindings :: Bool -- ^ copy partial definition bindings in candidates
Expand Down Expand Up @@ -200,6 +201,7 @@ args = Args
, usePatterns = True

-- pruning options --
, rewriting = True
, requireDescent = True
, adHocRedundancy = True
, copyBindings = True
Expand Down Expand Up @@ -381,7 +383,8 @@ candidateExprs Args{..} nm f ps = (as \/ concatMapT (`enumerateFillings` recs)
eh = holeAsTypeOf efxs
efxs = conjureVarApplication nm f
(ef:exs) = unfoldApp efxs
keep = isRootNormalC thy . fastMostGeneralVariation
keep | rewriting = isRootNormalC thy . fastMostGeneralVariation
| otherwise = const True
keepR | requireDescent = descends isDecOf efxs
| otherwise = const True
where
Expand Down

0 comments on commit 4ea4d79

Please sign in to comment.