Wow, I am amazed you are working to keep compatibility with Clojure 1.2 :-)
Andy On Fri, Mar 20, 2015 at 2:55 PM, Mark Engelberg <mark.engelb...@gmail.com> wrote: > 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. > -- 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.