On Sat, Jul 30, 2011 at 7:58 AM, Mark Rathwell <[email protected]> wrote: > One thing, though, is new users coming from Python/Ruby/etc really do seem > to have a hard time adjusting to the fact the standard is not to have a > Clojure installation, with a clj executable that you run scripts through, > and with globally installed libraries. Maybe a Clojure installer for > Mac/Windows/Linux, that installs a clj executable on the path, and that has > its own directory that it adds to the classpath when it is run, where you > could install jars (maybe using a lein plugin) that would be available > globally, and not interfere with the current standard. But that is yet more > choice to overwhelm user, so I don't know.
I think Mark Rathwell's post is on the right track. The notion of a directory for globally installed libraries that you can set once and automatically have all Clojure tools respect them would be a valuable one. The issue I have with the build tools is that they all presume you want to *build* something. 95% of the time, I just want to open a file, write some Clojure code, and interactively test it in a REPL. And yes, there are certain libraries I tend to use, and I want them to always be available. Right now, for every file I want to tinker with, I have to do lein new make-up-some-project-name. Then I have to go in and edit the project.clj, trying to remember the names and version numbers of every library I might use (and this has gotten harder to remember now that contrib is split into separate modules), add some development dependencies so I can connect from slime. Or I can copy over the project structure from another lein project and go through and delete all the irrelevant things. Then I have to lein deps and wait 10 minutes for it to download the universe. Then I can lein swank, and connect to it from emacs, all so that I can start editing a file with the right classpaths, and play around with it in the REPL. In Python, I pop open IDLE, start typing some code. Save it anywhere I want, and hit F5, and then I'm in a a REPL where I can interact with the code I just wrote. Any libraries I've downloaded are available. In Racket, the story is much like Python, but even a bit better. Any library from Racket's Planet repository (sort of analogous to Clojars), you can refer to in your code, and it will automatically download and install if you don't have it -- no need to install libraries ahead of time, and you can email your Racket script to a friend and trust that it will work on his system regardless of dependencies. I would love to have a more streamlined way in Clojure for my personal common case -- writing a short script and using it interactively. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en
