Wow, I had forgotten how much had changed from Clojure 1.2 to 1.3 and beyond. There were three separate incompatibilities with 1.2.
I have addressed them and pushed a 0.1.1 release which is backwards-compatible to 1.2. --Mark On Fri, Mar 20, 2015 at 7:11 AM, Alex Miller <a...@puredanger.com> wrote: > Hey Mark, > > This latest release broke all the Clojure 1.2.0 and 1.2.1 builds for > math.combinatorics ( > http://build.clojure.org/job/math.combinatorics-test-matrix/129/), I > think due to using an assert arity that didn't exist then? We should either > change the min version for the test matrix or modify the code to make it > compatible. I can take care of the former for you if needed. > > Alex > > > On Tuesday, March 17, 2015 at 10:58:45 PM UTC-5, puzzler wrote: >> >> For a while now, the permutations function in the combinatorics library >> has had special handling for lists with duplicate items. >> >> Example: (permutations [1 2 3]) -> ((1 2 3) (1 3 2) (2 1 3) (2 3 1) (3 1 >> 2) (3 2 1)) >> Example: (permutations [1 1 2]) -> ((1 1 2) (1 2 1) (2 1 1)) >> >> The new release, version 0.1.0 extends this intelligent handling of >> duplicate items to combinations and subsets. >> >> There are straightforward computations for counting permutations, >> combinations, and subsets of n distinct items -- so straightforward it >> never seemed worth adding to the library. However, now with the special >> handling of duplicates, it seems very natural to want to know things like: >> >> (count-permutations [1 1 1 2 2 2]) -> 20 ;not 6! >> >> So I've added count-permutations, count-combinations, and count-subsets >> which do the obvious things for lists with no duplicates, but for lists >> with duplicates, computes the count taking into account the special >> handling of lists with duplicates. It computes these counts directly, not >> by iterating through the actual stream of permutations/combinations/ >> subsets. >> >> Similarly, there is now a way to compute the nth >> permutation/combination/subset without iterating through the result stream. >> >> I've also added two new permutation-related functions: >> drop-permutations lets you efficiently skip over some number of >> permutations before starting the stream of results. >> >> permutation-index is like nth-permutation in reverse - from a scrambled >> sortable collection, it will tell you how far into the lexicographic stream >> of permutations it is located (computed directly without iterating through >> the stream). >> >> So now you can easily find out in the blink of an eye, for example, that >> "clojurecombinatoricsrocks" is the 169001484919860315564th permutation >> (0-based) of "abcccceiijklmnoooorrrsstu" >> >> Didn't your life feel empty before learning that important fact? >> >> Enjoy the new functionality! >> >> https://github.com/clojure/math.combinatorics >> >> --Mark Engelberg >> > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.