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.

Reply via email to