3 ms·
I am, in fact, trying my hand at stats in Clojure, to see if it's a viable alternative. I finished the Wilcoxon Rank Sum Test yesterday, and it's ridiculously e
by djacobs 16y ago
I am, in fact, trying my hand at stats in Clojure, to see if it's a viable alternative. I finished the Wilcoxon Rank Sum Test yesterday, and it's ridiculously elegant compared to the current SciPy implementation. Clojure is pretty fantastic.
But where's the package management? Clojure might be a bit too young.
- brehaut 16y agoclojure package management is built on top of maven typically. There are two main approaches here: 1. Use Maven as Maven with https://github.com/talios/clojure-maven-plugin https://github.com/talios/clojure-maven-plugin - My impression is that this option is often more popular with people coming to clojure from java, as you get the full XML and maven experience. 2. Use Leiningen https://github.com/technomancy/leiningen https://github.com/technomancy/leiningen – this is a project and dependancy management / built system built in clojure on top of Maven's libs. You have a single (and simple - no XML) project.clj file that describes your project. My impression here is that lein is popular with people coming to clojure from non-JVM land. Being a former pythonista, this is my preference. There is also a default maven repo that i believe both work with hosted at http://clojars.org http://clojars.org. In both cases maven handles dependency resolution and package management. My experience is that a global install of jars is not common like it is in python or ruby land. The other tool that you will want to look at is https://github.com/liebke/cljr https://github.com/liebke/cljr which is a repl built ontop of lein's package management commands. This is useful because it lets you run a repl without a project (lein requires a project) but still gives you control over what libraries are available. If you are using incanter (the stats package mentioned by Estragon) you will want cljr
- djacobs 16y agoI'm using Leiningen at the moment, but I don't like importing my dependencies into my project folder. That's why I said "centralized package management". Is there a way to store all your dependencies in a central non-project-specific folder? I'll have to check out cljr.