On Sat, Jul 30, 2011 at 7:58 AM, Mark Rathwell <mark.rathw...@gmail.com> 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 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

Reply via email to