forked from dsevilla/clojure-cheatsheets
/
CHANGELOG.txt
292 lines (201 loc) · 10.3 KB
/
CHANGELOG.txt
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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
----------------------------------------------------------------------
Oct 2, 2013 - Clojure 1.3 - 1.5, sheet v12
Added next to section Sequences/Seq in, Seq out/Tail-items
----------------------------------------------------------------------
Aug 27, 2013 - Clojure 1.3 - 1.5, sheet v11
Added link to Chas Emerick's handy Clojure type selection flowchart
after the headings of the Abstrations and Proxy sections:
https://github.com/cemerick/clojure-type-selection-flowchart
Removed from Numbers/Test section: nil? and identical? did not really
belong there.
Added to Numbers/Test section: number? rational? integer? ratio?
decimal? float?
Added to Vars/Var objects section: bound? thread-bound?
----------------------------------------------------------------------
Mar 1, 2013 - Clojure 1.3 - 1.5, sheet v10
Added letfn to Special forms section
----------------------------------------------------------------------
Mar 1, 2013 - Clojure 1.3 - 1.5, sheet v9
Added these new symbols added in Clojure 1.5:
re-quote-replacement
*default-data-reader-fn*
as-> cond-> cond->> some-> some->>
send-via set-agent-send-executor! set-agent-send-off-executor!
Also the "Data Reader" subsection was moved from Primitives/Other
section to IO section, where it belongs much better.
Still to add: Several of the new functions in the
clojure.core.reducers namespace.
----------------------------------------------------------------------
Feb 13, 2013 - Clojure 1.3 & 1.4, sheet v8
Moved take-nth function from "Head-items" under "Seq in, Seq out" to
"Get shorter", which is a more accurate category for it.
Update link for binding forms / destructuring examples on clojure.org.
Removed :static keyword from examples in Metadata section. It appears
frequently in Clojure code, but it has no effect in the compiler any
more, and is thus obsolete.
For those variants of the cheatsheet that include tooltips with the
ClojureDocs.org contents summary line, now also explicitly show the
list of symbols that are "see also" on the ClojureDocs.org site, right
in the tooltip. Before it only included the number of such symbols in
the tooltip.
Add clojure.tools.reader.edn/read and read-string to the IO section.
clojure.core/read and read-string are still there, but have a big
warning after them right on the cheatsheet.
----------------------------------------------------------------------
Oct 14, 2012 - Clojure 1.3 & 1.4, sheet v7
Removed "1." from cheat sheet version number, in hopes of avoiding
confusion with Clojure version numbers. The cheat sheet version
number advances independently from Clojure version numbers.
Added example literals for long ints in hex, octal, binary, and base
36. Also scientific notation for doubles.
Changed category of with-decimal from BigInt to BigDecimal
Added most clojure.walk functions to Collections/Generic ops section.
Added more clojure.java.io functions to IO/Misc section.
Created new section Macros/Debug for all macroexpand functions
(formerly in Macros/Create).
Added clojure.java.browse/browse-url and clojure.java.shell/{sh,
with-sh-dir, with-sh-env} to new section Other/Browser/Shell.
----------------------------------------------------------------------
Oct 8, 2012 - Clojure 1.3 & 1.4, sheet v1.6
Added *unchecked-math* and the following symbols from Clojure 1.4, all
marked with (1.4) on the sheet:
Extensible data literals in reader:
*data-readers*, default-data-readers
New operations on vectors:
mapv, filterv, reduce-kv
Data-conveying exceptions:
ex-data, ex-info
Since ClojureDocs.org has no symbols new to Clojure 1.4 yet, all links
for those symbols always go instead to the Clojure API documentation
on Github.
----------------------------------------------------------------------
March 22, 2012 - Clojure 1.3.0, sheet v1.4
Added (tutorial) entries in Namespace/Create and Loading/Load Libs
sections that link to this nice article:
http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html
Added links to more details on regular expressions in the
Strings/Regex section:
http://www.regular-expressions.info
http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
Added to Strings section: java.lang.String (abbreviated String in PDF
version to fit better) .indexOf .lastIndexOf, with links to
java.lang.String doc page.
Added to Collections/Lists and Vectors sections: .indexOf and
.lastIndexOf, with links to similar methods documented for
java.util.Vector.
Changed heading Destructuring in Special Forms section to "Binding
Forms / Destructuring", for people who might know it by one name but
not the other.
Added to Maps/Create: group-by
Added to IO/from reader: read
Added Numbers/Literals section with examples of literal syntax for
BigInt, Ratio, and BigDecimal.
Removed :doc from Metadata/Common section and added :const instead.
Doc strings are more commonly handled with the normal way to put them
in def or defn forms.
----------------------------------------------------------------------
2012 Feb 23 - Clojure 1.3.0, sheet v1.3
Added new section Destructuring, with a link to a page containing
examples on clojure.org, and a list of the most commonly-used macros
that allow destructuring to be used within them.
Added biginteger, clojure.java.io/file and copy, and link to fs
project on GitHub for file manipulation functions.
Removed "Others" part of Metadata section. It contained too many
rarely-used metadata keys that can better be described on the
clojure.org/special_forms web page linked to.
Added more links to clojure.org, mostly in section titles.
Moved take-last from subcategory Head-items to Tail-items in Seq
in/Seq out section.
Moved Zippers/Get zipper functions to Zippers/Create.
Fix link to ->> in LaTeX so it works in generated PDF files.
Many small tweaks to try to get it to almost fit in 2 pages with both
US letter and A4 page sizes, but I think I'm giving up on that. It is
2+ sheets on paper, with room to grow. I used several more
occurrences of common {pre, suf}fixes to try to get it down, and left
those in.
----------------------------------------------------------------------
2012 Feb 17 - Clojure 1.3.0, sheet v1.2
Added / after all namespace symbols, plus a brief note about this
notation, to be clearer to those new to Clojure.
Improved formatting of some code snippets in Abstractions section.
Made URL to clojure.org clickable, and added a few more of them.
Fixed several typos: with-in-string -> with-in-str, Print/to string
changed to IO/to string.
Removed function sequence, which is rarely if ever used. seq is far
more common and useful.
----------------------------------------------------------------------
2012 Feb 16 - Clojure 1.3.0, sheet v1.1
Primitives/Strings: Restructured to remove split between functions in
clojure.core vs. clojure.string, added Regex functions (moved from
where they used to be, way at the end in Other/Regex).
Collections: Added examples of abbreviations like (my-vec idx) -> (nth
my-vec idx), for vectors, maps, and sets. Combined subsections Sets
and Sets (clojure.set).
Removed StructMaps.
Printing: Renamed IO, and significantly expanded its content. Moved
what was in Other/IO here. I put in links to some Java 6 docs and a
couple of binary I/O Clojure libraries on github. That might be going
overboard.
Multimethods: Renamed Abstractions, like in Fogus's ClojureScript
cheatsheet, and pretty much copied what he had there (adjusting for
slight ClojureScript and Clojure/JVM differences I know about, like
. instead of .-)
Reader Macros: Removed obsolete ^form -> (meta form). Changed #^ to ^
Metadata: Added new section with some details on metadata.
Special Forms: No content changes, simply moved earlier to try to make
things pack a little better in PDF version, which is just barely over
2 page now.
----------------------------------------------------------------------
2012 Feb 15 - Clojure 1.3.0, sheet v1.0
Minor clojure-cheatsheet-generator.clj script updates so it would run
without errors or warnings with Clojure 1.3.0.
Removals:
replicate, because DEPRECATED.
throw-if since it is declared private in clojure.core. It was in 1.2
as well, but does it really belong in the cheatsheet?
Additions of things new in Clojure 1.3.0:
find-keyword to Other/Keywords
realized? to Using a Seq/Check for forced evaluation
every-pred and some-fn to Functions/Create
with-redefs and with-redefs-fn to Macros/Scope
clojure.repl/pst to Java Interoperation/Exceptions
unchecked-{add,dec,divide,inc,multiply,negate,remainder,subtract}-int to Numbers/Unchecked. Space is a bit tight in that column to also include the long versions.
nthrest to Seq in, Seq out/Tail-items
clojure.data/diff to Misc/Compare
clojure.java.javadoc/javadoc to Documentation/clojure.repl (I know, it is not really in clojure.repl -- space is getting tight in that column)
clojure.pprint/pprint and print-table to Printing/Print to *out*
Additions of things that existed before Clojure 1.3.0:
compare to several places that seem appropriate:
Seq in, Seq out/Rearrange, after sort-by
Numbers/Compare
Strings/Use
Misc/Compare
flatten to Seq in, Seq out/'Change'
fnil to Functions/Create
instance? to Misc/Test
Moved:
doc and find-doc to Documentation/clojure.repl, since they moved from
clojure.core in 1.2.x to clojure.repl in 1.3.0.
----------------------------------------------------------------------
2011 Sep 05
Changes in cheatsheet version 2.0 from the cheatsheet version
published at http://clojure.org/cheatsheet as of Sep 5, 2011:
Additions:
Collections/Sets: sorted-set-by
Macros/Branch: case
Removals:
Removed contains? from Collections/Collections/Content tests, but
remains in Collections/Maps. Its appearance in the former category is
potentially misleading as to its behavior. Suggested by Stuart
Sierra.
Removed Transients/Change and Transients/Iteration categories, since
those functions did not work on transients. All of the functions that
were there also appear elsewhere in more appropriate categories of the
cheatsheet. Renamed Transients/Use to Transients/Change.
Removed nthrest and rfirst, which had no links to any documentation.
I believe they existed in a version of Clojure before 1.2, but were
removed by version 1.2 or earlier.
Minor:
HTML uses < > = ! instead of codes like %3C %3E etc.
Some reordering of lists of functions referring to types like byte,
short, int, long.