converting math.combinatorics to CLJC

215 views
Skip to first unread message

Eric Lavigne

unread,
Mar 13, 2016, 12:43:36 PM3/13/16
to Clojure Dev
Looking for guidance regarding first contribution to a CA-covered project.

I recently needed a combinatorics function in a ClojureScript project, and worked around this issue by copying a couple functions into my own project.


Combinatorics is pure Clojure, and could probably become ClojureScript compatible just by changing filenames from CLJ to CLJC. The downside is losing support for Clojure 1.2-1.6. I would just bump the version number and accept that older Clojure versions will need to use older versions of the library (and note this tradeoff in the README).


I'm willing to do the work but am unfamiliar with the contribution process. (Signed the CA years ago but haven't contributed code yet.) Also, it's not clear to me if others will agree regarding the tradeoff of exchanging Clojure 1.2-1.6 support for ClojureScript support.

Alex Miller

unread,
Mar 13, 2016, 5:23:34 PM3/13/16
to Clojure Dev
Please note that currently Clojure contrib projects with cljc cannot be built in the Clojure CI system (due to a stack of yaks - a yak stack. a yak attack!). The only project currently using cljc is test.check, which must be built through a (painful) manual process. Because of that issue, I would prefer to delay moving any more projects to cljc until that issue is fixed. I have mapped out the path to fixing it but it's just been delayed due to other work. 

With respect to the versioning, I think it's reasonable that at some point a version is released that raises the minimum Clojure version to 1.7. It is still possible (although not particularly fun) to release new updates on the old version too via a branch if needed. Based on the recent State of Clojure survey results, a large percentage of the ecosystem is relying on 1.7+ already anyways. It would be great to have a jira ticket and a patch with the work ready to go of course.

Herwig Hochleitner

unread,
Mar 16, 2016, 7:16:42 AM3/16/16
to cloju...@googlegroups.com
Can the community help in any way, with those yaks?
E.g. I've been thinking about creating a maven plugin to rewrite .cljc files into corresponding .clj and .cljs files, similar to what .cljx does, ...

Alex Miller

unread,
Mar 16, 2016, 9:04:40 AM3/16/16
to Clojure Dev
No, it requires updating our Hudson build box. Stuart Sierra and I need to plan a time to do battle with it. :)

Eric Lavigne

unread,
Mar 18, 2016, 11:46:51 PM3/18/16
to Clojure Dev
Thanks for the guidance, Alex. I've created a Jira ticket and attached a patch.

http://dev.clojure.org/jira/browse/MCOMB-6
Reply all
Reply to author
Forward
0 new messages