File: CHANGES.md

package info (click to toggle)
core-match-clojure 0.2.2-1
  • links: PTS
  • area: main
  • in suites: buster
  • size: 308 kB
  • ctags: 3
  • sloc: xml: 64; makefile: 37
file content (198 lines) | stat: -rw-r--r-- 3,853 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
From 0.2.0 to 0.2.1
===

Fixes
---
* MATCH-91: keyword with dots cause core.match to fail

From 0.2.0-rc6 to 0.2.0
===

None

From 0.2.0-rc5 to 0.2.0-rc6
===

Fixes
---
* MATCH-86: or patterns do not AOT

Changes
---
* Requires ClojureScript 0.0-1889
* Cleaned up dependencies (no more core.logic requirement)

Enhancements
---
* Use identical? when matching strings and numbers in ClojureScript

From 0.2.0-rc4 to 0.2.0-rc5
===

Fixes
---
* MATCH-82: CLJS locals matching did not work correctly
* MATCH-83: vector pattern with rest pattern bug
* MATCH-84: vector pattern with rest pattern bug

From 0.2.0-rc3 to 0.2.0-rc4
===

Fixes
---
* MATCH-81: fix code-size issue, add match*, matchv* and match-let*
  which optimize for performance over code-size

Changes - Breaking
---
* Reorganize ClojureScript support. Runtime support ns is now
  cljs.core.match and macro support is cljs.core.match.macros. For
  array specialization you must require clojure.core.match and
  clojure.core.match.array

From 0.2.0-rc2 to 0.2.0-rc3
===

Fixes
---
* MATCH-80: repeated match literal bug

From 0.2.0-rc1 to 0.2.0-rc2
===

Fixes
---
* Fix no match case, don't reevalute expressions

From 0.2.0-beta4 to 0.2.0-rc1
===

None

From 0.2.0-beta3 to 0.2.0-beta4
===

Fixes
---
* MATCH-61: emit init expressions only once
* MATCH-77: `*recur-present*` compilation inconsistent

Enhancements
---
* add `match-let` and `matchv` to ClojureScript support
* array specialization for vector patterns when type hinted

From 0.2.0-beta2 to 0.2.0-beta3
===

Fixes
---
* MATCH-73: irrelevant bindings at leaf nodes
* MATCH-71: non-optimal decision trees for map patterns

Enhancements
---
* Optimize literal matching, don't backtrack just test

====

From 0.2.0-beta1 to 0.2.0-beta2
====

Fixes
---
* Bring CLJS support closer to CLJ

From 0.2.0-alpha12 to 0.2.0-beta1
====

AOT issues should be addressed across the board.

Fixes
---
* MATCH-70 map pattern matching behavior is now more logical,
  specifying a key means it must at least be present even if a
  wildcard
* MATCH-66: cannot match whole value
* MATCH-51: fail to match empty vector after guard
* MATCH-36: no match now throws an exception if no default provided a
  la case
* MATCH-55: seq pattern with just rest pattern fails
* MATCH-56: exception when matching empty vector
* MATCH-68: variant of 55
* MATCH-35: seq pattern matching needed to test `seq`

From 0.2.0-alpha11 to 0.2.0-alpha12
====

Fixes
---
* MATCH-67: fix ClojureScript support regression

From 0.2.0-alpha10 to 0.2.0-alpha11
====

Fixes
---
* MATCH-52: bad map pattern matching behavior

From 0.2.0-alpha9 to 0.2.0-alpha10
====

Breaking Changes
---
* :when is now for predicates. Use :guard for the old behavior of :when.

Fixes
---
* MATCH-62: ClojureScript map-matching should use cljs.core/ILookup, not cljs.core.ILookup
* MATCH-60: Matching maps with :only broken in CLJS

From 0.2.0-alpha8 to 0.2.0-alpha9
====

Fixes
---
* MATCH-43: fix another subtle pattern ordering issue
* MATCH-45: group like patterns together, including vector patterns of different sizes
* MATCH-46: fix :or leakage

Breaking Changes
---
* val-at* -> val-at

Enhancements
---

From 0.2.0-alpha7 to 0.2.0-alpha8
====

Fixes
---
* map patterns with heterogenous keys work now
* MATCH-41: remove sorted-set-by use, this returned a incorrect list of column constructors
* MATCH-42: can now match symbols by quoting them


From 0.2.0-alpha6 to 0.2.0-alpha7
====

Enhancements
---
* remove match-1, passing single value to match now works


From 0.2.0-alpha5 to 0.2.0-alpha6
====

Fixes
----
* MATCH-34: no more infix or pattern syntax
* MATCH-10: support maps with keys of heterogenous types
* MATCH-30: throw if same binding name used in row
* MATCH-33: fix readme typo

Enhancements
---
* supported flattened syntax for :when and :as
* added Steve Miner's match-let