[MATCH-73] irrelevant binding at leaf nodes Created: 18/Jun/13 Updated: 19/Jun/13 Resolved: 19/Jun/13 |
|
| Status: | Resolved |
| Project: | core.match |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Defect | Priority: | Major |
| Reporter: | David Nolen | Assignee: | David Nolen |
| Resolution: | Completed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Patterns emit useless bindings at the leaf node, only named wildcards and :as patterns should be emitted. |
| Comments |
| Comment by David Nolen [ 19/Jun/13 12:14 AM ] |
|
fixed, http://github.com/clojure/core.match/commit/9afc9c6001f8a187b5611c4ac11877b049b071f4 |
[MATCH-72] complexity analysis Created: 18/Jun/13 Updated: 18/Jun/13 |
|
| Status: | Open |
| Project: | core.match |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Enhancement | Priority: | Minor |
| Reporter: | David Nolen | Assignee: | David Nolen |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Description |
|
For smaller matches avoid backtracking actually greatly improves performance at the potential cost of code size. Perhaps we can devise a heuristic such that we employ the the best option available? Would need some serious hammock time. |
[MATCH-71] map patterns don't exhibit as much test sharing as expected Created: 18/Jun/13 Updated: 18/Jun/13 Resolved: 18/Jun/13 |
|
| Status: | Resolved |
| Project: | core.match |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Defect | Priority: | Major |
| Reporter: | David Nolen | Assignee: | David Nolen |
| Resolution: | Completed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
`map-pattern-match-1` in the test cases tests the value for :b only in the first line, it backtracks and considers :a instead of looking the second value for :b first. for example for: (match [x]
[{:a _ :b 2}] :a0
[{:a 1 :b 1}] :a1)
The decision tree looks far too complicated. |
| Comments |
| Comment by David Nolen [ 18/Jun/13 11:42 PM ] |
|
fixed, http://github.com/clojure/core.match/commit/babb964413c2dc0058b4bb36f9a903a9de74f755 |