Release 2.12.0

master
Magnar Sveen 11 years ago
parent 91a2b14848
commit fa90644543
  1. 12
      README.md
  2. 6
      dash-template.texi
  3. 2
      dash.el
  4. 466
      dash.info
  5. 6
      dash.texi
  6. 12
      readme-template.md

@ -19,11 +19,11 @@ If you want the function combinators, then also:
Add this to the big comment block at the top:
;; Package-Requires: ((dash "2.11.0"))
;; Package-Requires: ((dash "2.12.0"))
To get function combinators:
;; Package-Requires: ((dash "2.11.0") (dash-functional "1.2.0") (emacs "24"))
;; Package-Requires: ((dash "2.12.0") (dash-functional "1.2.0") (emacs "24"))
## Syntax highlighting of dash functions
@ -2377,6 +2377,14 @@ Change `readme-template.md` or `examples-to-docs.el` instead.
## Changelist
### From 2.11 to 2.12
- Add GNU ELPA support. (Phillip Lord)
- Add `-some->`, `-some->>`, and `-some-->` macros. (Cam Saul)
- `-is-suffix?` no longer destroys input list.
- Faster hashtable implementation for `-union`.
- Improvements to docstrings and examples
### From 2.10 to 2.11
- Lots of clean up wrt byte compilation, debug macros and tests

@ -13,7 +13,7 @@
@copying
This manual is for @code{dash.el} version 2.11.0.
This manual is for @code{dash.el} version 2.12.0.
Copyright © 2012-2015 Magnar Sveen
@ -109,13 +109,13 @@ Alternatively, you can just dump @verb{~dash.el~} or
Add this to the big comment block at the top:
@lisp
;; Package-Requires: ((dash "2.11.0"))
;; Package-Requires: ((dash "2.12.0"))
@end lisp
@noindent To get function combinators:
@lisp
;; Package-Requires: ((dash "2.11.0") (dash-functional "1.2.0") (emacs "24"))
;; Package-Requires: ((dash "2.12.0") (dash-functional "1.2.0") (emacs "24"))
@end lisp
@node Syntax highlighting of dash functions

@ -3,7 +3,7 @@
;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
;; Author: Magnar Sveen <magnars@gmail.com>
;; Version: 2.11.0
;; Version: 2.12.0
;; Keywords: lists
;; This program is free software; you can redistribute it and/or modify

@ -5,9 +5,9 @@ START-INFO-DIR-ENTRY
* Dash: (dash.info). A modern list library for GNU Emacs
END-INFO-DIR-ENTRY
This manual is for `dash.el' version 2.11.0.
This manual is for `dash.el' version 2.12.0.
Copyright © 2012-2015 Magnar Sveen
Copyright © 2012-2015 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@ -29,9 +29,9 @@ File: dash.info, Node: Top, Next: Installation, Up: (dir)
dash
****
This manual is for `dash.el' version 2.11.0.
This manual is for `dash.el' version 2.12.0.
Copyright © 2012-2015 Magnar Sveen
Copyright © 2012-2015 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@ -117,11 +117,11 @@ File: dash.info, Node: Using in a package, Next: Syntax highlighting of dash f
Add this to the big comment block at the top:
;; Package-Requires: ((dash "2.11.0"))
;; Package-Requires: ((dash "2.12.0"))
To get function combinators:
;; Package-Requires: ((dash "2.11.0") (dash-functional "1.2.0") (emacs "24"))
;; Package-Requires: ((dash "2.12.0") (dash-functional "1.2.0") (emacs "24"))

File: dash.info, Node: Syntax highlighting of dash functions, Prev: Using in a package, Up: Installation
@ -509,6 +509,15 @@ Bag of various functions which modify input list.
Take a nested list L and return its contents as a single, flat
list.
Note that because `nil' represents a list of zero elements (an
empty list), any mention of nil in L will disappear after
flattening. If you need to preserve nils, consider `-flatten-n'
(*note -flatten-n::) or map them to some unique symbol and then
map them back.
Conses of two atoms are considered "terminals", that is, they
aren't flattened further.
See also: `-flatten-n' (*note -flatten-n::)
(-flatten '((1)))
@ -653,6 +662,9 @@ Functions reducing lists into single value.
In the anaphoric form `--reduce-from', the accumulated value is
exposed as `acc`.
See also: `-reduce' (*note -reduce::), `-reduce-r' (*note
-reduce-r::)
(-reduce-from '- 10 '(1 2 3))
=> 4
(-reduce-from (lambda (memo item) (concat "(" memo " - " (int-to-string item) ")")) "10" '(1 2 3))
@ -669,6 +681,9 @@ Functions reducing lists into single value.
-reduce-from::) but the operation associates from right instead
of from left.
See also: `-reduce-r' (*note -reduce-r::), `-reduce' (*note
-reduce::)
(-reduce-r-from '- 10 '(1 2 3))
=> -8
(-reduce-r-from (lambda (item memo) (concat "(" (int-to-string item) " - " memo ")")) "10" '(1 2 3))
@ -686,6 +701,9 @@ Functions reducing lists into single value.
In the anaphoric form `--reduce', the accumulated value is
exposed as `acc`.
See also: `-reduce-from' (*note -reduce-from::), `-reduce-r'
(*note -reduce-r::)
(-reduce '- '(1 2 3 4))
=> -8
(-reduce (lambda (memo item) (format "%s-%s" memo item)) '(1 2 3))
@ -707,6 +725,9 @@ Functions reducing lists into single value.
-reduce::) but the operation associates from right instead of
from left.
See also: `-reduce-r-from' (*note -reduce-r-from::), `-reduce'
(*note -reduce::)
(-reduce-r '- '(1 2 3 4))
=> -2
(-reduce-r (lambda (item memo) (format "%s-%s" memo item)) '(1 2 3))
@ -1717,6 +1738,42 @@ File: dash.info, Node: Threading macros, Next: Binding, Prev: Tree operations
(--> "def" (concat "abc" it "ghi") upcase)
=> "ABCDEFGHI"
-- Function: -some-> (x &optional form &rest more)
When expr is non-nil, thread it through the first form (via `->'
(*note ->::)), and when that result is non-nil, through the next
form, etc.
(-some-> '(2 3 5))
=> '(2 3 5)
(-some-> 5 square)
=> 25
(-some-> 5 even? square)
=> nil
-- Function: -some->> (x &optional form &rest more)
When expr is non-nil, thread it through the first form (via
`->>' (*note ->>::)), and when that result is non-nil, through
the next form, etc.
(-some->> '(1 2 3) (-map 'square))
=> '(1 4 9)
(-some->> '(1 3 5) (-last 'even?) (+ 100))
=> nil
(-some->> '(2 4 6) (-last 'even?) (+ 100))
=> 106
-- Function: -some-> (x &optional form &rest more)
When expr in non-nil, thread it through the first form (via
`-->' (*note -->::)), and when that result is non-nil, through
the next form, etc.
(-some--> "def" (concat "abc" it "ghi"))
=> "abcdefghi"
(-some--> nil (concat "abc" it "ghi"))
=> nil
(-some--> '(1 3 5) (-filter 'even? it) (append it it) (-map 'square it))
=> nil

File: dash.info, Node: Binding, Next: Side-effects, Prev: Threading macros, Up: Functions
@ -1745,6 +1802,8 @@ control.
pairs.
Note: binding is done according to `-let*' (*note -let*::).
VALS are evaluated sequentially, and evaluation stops after the
first nil VAL is encountered.
(-when-let* ((x 5) (y 3) (z (+ y 4))) (+ x y z))
=> 15
@ -1768,6 +1827,8 @@ control.
of (VAR VAL) pairs.
Note: binding is done according to `-let*' (*note -let*::).
VALS are evaluated sequentially, and evaluation stops after the
first nil VAL is encountered.
(-if-let* ((x 5) (y 3) (z 7)) (+ x y z) "foo")
=> 15
@ -1839,11 +1900,10 @@ control.
If the PATTERN is longer than SOURCE, an `error' is
thrown.
[a1 a2 a3 ... &rest rest] ) - as above, but bind the rest of
the sequence to REST. This is
conceptually the same as improper
list matching (a1 a2 ... aN .
rest)
[a1 a2 a3 ... &rest rest] - as above, but bind the rest of
the sequence to REST. This is
conceptually the same as improper list
matching (a1 a2 ... aN . rest)
Key/value stores:
@ -2515,7 +2575,7 @@ Index
(line 94)
* -contains?: Predicates. (line 58)
* -copy: Maps. (line 134)
* -count: Reductions. (line 79)
* -count: Reductions. (line 91)
* -cut: Function combinators.
(line 107)
* -cycle: Other list operations.
@ -2542,15 +2602,15 @@ Index
* -fixfn: Function combinators.
(line 178)
* -flatten: List to list. (line 34)
* -flatten-n: List to list. (line 47)
* -flatten-n: List to list. (line 56)
* -flip: Function combinators.
(line 82)
* -grade-down: Indexing. (line 78)
* -grade-up: Indexing. (line 68)
* -group-by: Partitioning. (line 146)
* -if-let: Binding. (line 35)
* -if-let*: Binding. (line 46)
* -insert-at: List to list. (line 101)
* -if-let: Binding. (line 37)
* -if-let*: Binding. (line 48)
* -insert-at: List to list. (line 110)
* -interleave: Other list operations.
(line 67)
* -interpose: Other list operations.
@ -2565,13 +2625,13 @@ Index
* -juxt: Function combinators.
(line 32)
* -keep: List to list. (line 9)
* -lambda: Binding. (line 221)
* -lambda: Binding. (line 224)
* -last: Other list operations.
(line 212)
* -last-item: Other list operations.
(line 230)
* -let: Binding. (line 60)
* -let*: Binding. (line 201)
* -let: Binding. (line 64)
* -let*: Binding. (line 204)
* -list: Other list operations.
(line 262)
* -map: Maps. (line 11)
@ -2580,10 +2640,10 @@ Index
* -map-last: Maps. (line 53)
* -map-when: Maps. (line 22)
* -mapcat: Maps. (line 123)
* -max: Reductions. (line 131)
* -max-by: Reductions. (line 141)
* -min: Reductions. (line 107)
* -min-by: Reductions. (line 117)
* -max: Reductions. (line 143)
* -max-by: Reductions. (line 153)
* -min: Reductions. (line 119)
* -min-by: Reductions. (line 129)
* -non-nil: Sublist selection. (line 77)
* -none?: Predicates. (line 31)
* -not: Function combinators.
@ -2605,23 +2665,23 @@ Index
* -partition-in-steps: Partitioning. (line 98)
* -prodfn: Function combinators.
(line 213)
* -product: Reductions. (line 97)
* -reduce: Reductions. (line 41)
* -product: Reductions. (line 109)
* -reduce: Reductions. (line 47)
* -reduce-from: Reductions. (line 9)
* -reduce-r: Reductions. (line 58)
* -reduce-r-from: Reductions. (line 25)
* -reduce-r: Reductions. (line 67)
* -reduce-r-from: Reductions. (line 28)
* -remove: Sublist selection. (line 22)
* -remove-at: List to list. (line 138)
* -remove-at-indices: List to list. (line 151)
* -remove-at: List to list. (line 147)
* -remove-at-indices: List to list. (line 160)
* -remove-first: Sublist selection. (line 35)
* -remove-item: Sublist selection. (line 65)
* -remove-last: Sublist selection. (line 50)
* -repeat: Other list operations.
(line 18)
* -replace: List to list. (line 59)
* -replace-at: List to list. (line 112)
* -replace-first: List to list. (line 73)
* -replace-last: List to list. (line 87)
* -replace: List to list. (line 68)
* -replace-at: List to list. (line 121)
* -replace-first: List to list. (line 82)
* -replace-last: List to list. (line 96)
* -rotate: Other list operations.
(line 9)
* -rpartial: Function combinators.
@ -2634,6 +2694,9 @@ Index
(line 43)
* -some: Other list operations.
(line 199)
* -some-->: Threading macros. (line 70)
* -some->: Threading macros. (line 46)
* -some->>: Threading macros. (line 58)
* -sort: Other list operations.
(line 248)
* -splice: Maps. (line 90)
@ -2642,7 +2705,7 @@ Index
* -split-on: Partitioning. (line 29)
* -split-when: Partitioning. (line 47)
* -split-with: Partitioning. (line 18)
* -sum: Reductions. (line 87)
* -sum: Reductions. (line 99)
* -table: Other list operations.
(line 141)
* -table-flat: Other list operations.
@ -2658,7 +2721,7 @@ Index
* -tree-seq: Tree operations. (line 9)
* -unfold: Unfolding. (line 26)
* -union: Set operations. (line 9)
* -update-at: List to list. (line 125)
* -update-at: List to list. (line 134)
* -when-let: Binding. (line 10)
* -when-let*: Binding. (line 23)
* -zip: Other list operations.
@ -2671,170 +2734,173 @@ Index

Tag Table:
Node: Top947
Node: Installation2423
Node: Using in a package2992
Node: Syntax highlighting of dash functions3356
Node: Functions3740
Node: Maps4941
Ref: -map5237
Ref: -map-when5575
Ref: -map-first6149
Ref: -map-last6616
Ref: -map-indexed7079
Ref: -annotate7481
Ref: -splice7968
Ref: -splice-list8734
Ref: -mapcat9185
Ref: -copy9558
Node: Sublist selection9744
Ref: -filter9937
Ref: -remove10304
Ref: -remove-first10659
Ref: -remove-last11171
Ref: -remove-item11677
Ref: -non-nil12064
Ref: -slice12222
Ref: -take12751
Ref: -drop13003
Ref: -take-while13202
Ref: -drop-while13549
Ref: -select-by-indices13902
Node: List to list14409
Ref: -keep14596
Ref: -concat15092
Ref: -flatten15386
Ref: -flatten-n15738
Ref: -replace16118
Ref: -replace-first16570
Ref: -replace-last17055
Ref: -insert-at17533
Ref: -replace-at17850
Ref: -update-at18238
Ref: -remove-at18718
Ref: -remove-at-indices19195
Node: Reductions19762
Ref: -reduce-from19931
Ref: -reduce-r-from20608
Ref: -reduce21295
Ref: -reduce-r21983
Ref: -count22795
Ref: -sum23017
Ref: -product23203
Ref: -min23409
Ref: -min-by23632
Ref: -max24148
Ref: -max-by24370
Node: Unfolding24891
Ref: -iterate25130
Ref: -unfold25572
Node: Predicates26363
Ref: -any?26487
Ref: -all?26800
Ref: -none?27115
Ref: -only-some?27410
Ref: -contains?27880
Ref: -same-items?28252
Ref: -is-prefix?28630
Ref: -is-suffix?28946
Ref: -is-infix?29262
Node: Partitioning29609
Ref: -split-at29797
Ref: -split-with30080
Ref: -split-on30480
Ref: -split-when31144
Ref: -separate31773
Ref: -partition32212
Ref: -partition-all32661
Ref: -partition-in-steps33086
Ref: -partition-all-in-steps33580
Ref: -partition-by34062
Ref: -partition-by-header34441
Ref: -group-by35041
Node: Indexing35471
Ref: -elem-index35673
Ref: -elem-indices36065
Ref: -find-index36445
Ref: -find-last-index36885
Ref: -find-indices37342
Ref: -grade-up37747
Ref: -grade-down38148
Node: Set operations38556
Ref: -union38739
Ref: -difference39170
Ref: -intersection39574
Ref: -distinct39998
Node: Other list operations40306
Ref: -rotate40531
Ref: -repeat40824
Ref: -cons*41084
Ref: -snoc41468
Ref: -interpose41874
Ref: -interleave42169
Ref: -zip-with42535
Ref: -zip43223
Ref: -zip-fill43870
Ref: -cycle44191
Ref: -pad44561
Ref: -table44881
Ref: -table-flat45664
Ref: -first46653
Ref: -some47016
Ref: -last47379
Ref: -first-item47710
Ref: -last-item47907
Ref: -butlast48100
Ref: -sort48344
Ref: -list48834
Ref: -fix49162
Node: Tree operations49696
Ref: -tree-seq49892
Ref: -tree-map50747
Ref: -tree-map-nodes51187
Ref: -tree-reduce52039
Ref: -tree-reduce-from52914
Ref: -tree-mapreduce53513
Ref: -tree-mapreduce-from54357
Ref: -clone55627
Node: Threading macros55954
Ref: ->56099
Ref: ->>56589
Ref: -->57093
Node: Binding57608
Ref: -when-let57812
Ref: -when-let*58302
Ref: -if-let58721
Ref: -if-let*59112
Ref: -let59619
Ref: -let*64745
Ref: -lambda65682
Node: Side-effects66479
Ref: -each66673
Ref: -each-while67076
Ref: -dotimes67434
Node: Destructive operations67735
Ref: !cons67908
Ref: !cdr68115
Node: Function combinators68311
Ref: -partial68580
Ref: -rpartial68973
Ref: -juxt69373
Ref: -compose69802
Ref: -applify70356
Ref: -on70800
Ref: -flip71320
Ref: -const71629
Ref: -cut71970
Ref: -not72423
Ref: -orfn72734
Ref: -andfn73167
Ref: -iteratefn73660
Ref: -fixfn74357
Ref: -prodfn75912
Node: Development76959
Node: Contribute77308
Node: Changes78029
Node: Contributors80643
Node: Index82165
Node: Top965
Node: Installation2459
Node: Using in a package3028
Node: Syntax highlighting of dash functions3392
Node: Functions3776
Node: Maps4977
Ref: -map5273
Ref: -map-when5611
Ref: -map-first6185
Ref: -map-last6652
Ref: -map-indexed7115
Ref: -annotate7517
Ref: -splice8004
Ref: -splice-list8770
Ref: -mapcat9221
Ref: -copy9594
Node: Sublist selection9780
Ref: -filter9973
Ref: -remove10340
Ref: -remove-first10695
Ref: -remove-last11207
Ref: -remove-item11713
Ref: -non-nil12100
Ref: -slice12258
Ref: -take12787
Ref: -drop13039
Ref: -take-while13238
Ref: -drop-while13585
Ref: -select-by-indices13938
Node: List to list14445
Ref: -keep14632
Ref: -concat15128
Ref: -flatten15422
Ref: -flatten-n16164
Ref: -replace16544
Ref: -replace-first16996
Ref: -replace-last17481
Ref: -insert-at17959
Ref: -replace-at18276
Ref: -update-at18664
Ref: -remove-at19144
Ref: -remove-at-indices19621
Node: Reductions20188
Ref: -reduce-from20357
Ref: -reduce-r-from21116
Ref: -reduce21885
Ref: -reduce-r22665
Ref: -count23569
Ref: -sum23791
Ref: -product23977
Ref: -min24183
Ref: -min-by24406
Ref: -max24922
Ref: -max-by25144
Node: Unfolding25665
Ref: -iterate25904
Ref: -unfold26346
Node: Predicates27137
Ref: -any?27261
Ref: -all?27574
Ref: -none?27889
Ref: -only-some?28184
Ref: -contains?28654
Ref: -same-items?29026
Ref: -is-prefix?29404
Ref: -is-suffix?29720
Ref: -is-infix?30036
Node: Partitioning30383
Ref: -split-at30571
Ref: -split-with30854
Ref: -split-on31254
Ref: -split-when31918
Ref: -separate32547
Ref: -partition32986
Ref: -partition-all33435
Ref: -partition-in-steps33860
Ref: -partition-all-in-steps34354
Ref: -partition-by34836
Ref: -partition-by-header35215
Ref: -group-by35815
Node: Indexing36245
Ref: -elem-index36447
Ref: -elem-indices36839
Ref: -find-index37219
Ref: -find-last-index37659
Ref: -find-indices38116
Ref: -grade-up38521
Ref: -grade-down38922
Node: Set operations39330
Ref: -union39513
Ref: -difference39944
Ref: -intersection40348
Ref: -distinct40772
Node: Other list operations41080
Ref: -rotate41305
Ref: -repeat41598
Ref: -cons*41858
Ref: -snoc42242
Ref: -interpose42648
Ref: -interleave42943
Ref: -zip-with43309
Ref: -zip43997
Ref: -zip-fill44644
Ref: -cycle44965
Ref: -pad45335
Ref: -table45655
Ref: -table-flat46438
Ref: -first47427
Ref: -some47790
Ref: -last48153
Ref: -first-item48484
Ref: -last-item48681
Ref: -butlast48874
Ref: -sort49118
Ref: -list49608
Ref: -fix49936
Node: Tree operations50470
Ref: -tree-seq50666
Ref: -tree-map51521
Ref: -tree-map-nodes51961
Ref: -tree-reduce52813
Ref: -tree-reduce-from53688
Ref: -tree-mapreduce54287
Ref: -tree-mapreduce-from55131
Ref: -clone56401
Node: Threading macros56728
Ref: ->56873
Ref: ->>57363
Ref: -->57867
Ref: -some->58382
Ref: -some->>58752
Ref: -some-->59184
Node: Binding59650
Ref: -when-let59854
Ref: -when-let*60344
Ref: -if-let60867
Ref: -if-let*61258
Ref: -let61869
Ref: -let*66973
Ref: -lambda67910
Node: Side-effects68707
Ref: -each68901
Ref: -each-while69304
Ref: -dotimes69662
Node: Destructive operations69963
Ref: !cons70136
Ref: !cdr70343
Node: Function combinators70539
Ref: -partial70808
Ref: -rpartial71201
Ref: -juxt71601
Ref: -compose72030
Ref: -applify72584
Ref: -on73028
Ref: -flip73548
Ref: -const73857
Ref: -cut74198
Ref: -not74651
Ref: -orfn74962
Ref: -andfn75395
Ref: -iteratefn75888
Ref: -fixfn76585
Ref: -prodfn78140
Node: Development79187
Node: Contribute79536
Node: Changes80257
Node: Contributors82871
Node: Index84393

End Tag Table

@ -13,7 +13,7 @@
@copying
This manual is for @code{dash.el} version 2.11.0.
This manual is for @code{dash.el} version 2.12.0.
Copyright © 2012-2015 Free Software Foundation, Inc.
@ -124,13 +124,13 @@ Alternatively, you can just dump @verb{~dash.el~} or
Add this to the big comment block at the top:
@lisp
;; Package-Requires: ((dash "2.11.0"))
;; Package-Requires: ((dash "2.12.0"))
@end lisp
@noindent To get function combinators:
@lisp
;; Package-Requires: ((dash "2.11.0") (dash-functional "1.2.0") (emacs "24"))
;; Package-Requires: ((dash "2.12.0") (dash-functional "1.2.0") (emacs "24"))
@end lisp
@node Syntax highlighting of dash functions

@ -19,11 +19,11 @@ If you want the function combinators, then also:
Add this to the big comment block at the top:
;; Package-Requires: ((dash "2.11.0"))
;; Package-Requires: ((dash "2.12.0"))
To get function combinators:
;; Package-Requires: ((dash "2.11.0") (dash-functional "1.2.0") (emacs "24"))
;; Package-Requires: ((dash "2.12.0") (dash-functional "1.2.0") (emacs "24"))
## Syntax highlighting of dash functions
@ -91,6 +91,14 @@ Change `readme-template.md` or `examples-to-docs.el` instead.
## Changelist
### From 2.11 to 2.12
- Add GNU ELPA support. (Phillip Lord)
- Add `-some->`, `-some->>`, and `-some-->` macros. (Cam Saul)
- `-is-suffix?` no longer destroys input list.
- Faster hashtable implementation for `-union`.
- Improvements to docstrings and examples
### From 2.10 to 2.11
- Lots of clean up wrt byte compilation, debug macros and tests

Loading…
Cancel
Save