I think it would be great, and a very useful contribution to the Clojure world, to have a flexible plotting library. My perspective, at risk of going a bit off-topic, and from the biased position of a Gorilla REPL author ...
When I think about the sort of programming I do as a scientist - data analysis, modelling, numerics, statistics - I have a few requirements: - For me, having a notebook interface is essential. It's how I think. It's the interactivity of the REPL, plus rich output, plus note-taking. - I'd like to write my code in a civilised language. Ideally one that puts data first, because that's at the heart of the problems I solve. - I want to be able to make things run fast when I need to. So I need some ability to write "low-level" code on occasion. - I'd rather not re-write the whole world, so libraries are good. - I want to be able to plot things the way I want them. If I think about the possible contenders, written as (Notebook interface, language, low-level language escape hatch) then the ones I'm familiar with, and are advanced enough to use day-to-day for work, are: (Gorilla REPL, Clojure, Java) (IPython, Python, C) (R, R, C) (Mathematica notebook, Wolfram language, sort-of-C/sort-of-Java/sort-of-.NET) In terms of the interface, obviously Gorilla REPL is the best of the bunch :-) From a language perspective, my opinion is Clojure/Java wins this hands-down. Preaching to the choir here, but Clojure is great for data-oriented programming, and importantly for me, it's _really_ easy to drop into Java when it matters. Library-wise, all are strong. Each has their own advantages, but I'd say the Clojure/Java ecosystem has enough that, for what I do, I rarely get stuck. For plotting Mathematica and R are leagues ahead. I'm not familiar with the latest developments in Python, but last I looked I didn’t see anything doing it the way I think it should be done. Which, brings me to why I’m sharing all of this unsolicited opinion … it’s because I think a really strong plotting library would position Clojure alongside the very best environments to do science and technical computing/data science (or whatever it is we’re calling “thinking about data with a computer” these days). Gorilla/Clojure works great for me, but I do fire up R and Mathematica frequently for more advanced plotting. So, a full-featured plot library is something I’d love to see happen, and would be interested in working towards. In terms of what such a library would look like, while there’s value in debating the best way to do it, there’s also value in copying the best that’s out there! So I agree with Matt that a ggplot2-alike emitting SVG is a good thing to start with. ggplot2 does a great job of making plots composable, easily customised etc. And SVG can be rendered to anything, and Gorilla supports it natively. The key point, to my mind, would be how to make the ggplot API more data-driven, rather than the OO approach that it takes. So, to summarise my ramble: I think this would be great, and it’s something I’d like to be involved with. I’d been planning to give some thought to just this after the end of term. Although, I don’t know how that will work out, realistically … if everyone on this list manages to do what they’re planning to do over the holiday break then January will be a golden age of Clojure! Jony -- 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.