On Friday, May 11, 2012 5:33:22 PM UTC-4, Stuart Sierra wrote:
>
>
>
> What other tricks do you have for speeding up your development cycle with 
> Clojure?
>
>
I have a similar situation, where I've had to restart a repl a *lot* for a 
particular program (several times a day, like 10-20 times and sometimes 
more).  Also, I've always found the startup time of Leiningen to be too 
long to be usable--I'm very, very impatient--so I stopped using it a while 
back for startup; most of the time is due to itself being written in 
Clojure, which is awesome, but one thing about Clojure/JVM that just isn't 
awesome is precisely its startup time. Using an ugly shell script worked 
fine for a while, but then I wanted some more niceties, basically to run a 
script with just a few directory arguments and have it figure it all out, 
hunt the jars anywhere in the path, use only the latest versions of two 
colliding jars for the same package, and find .clj files and corresponding 
roots to add to the classpath and start my VM.  So I wrote one; it also 
provides startup options for swank, the vanilla repl, nrepl, and to just 
run as a main program.

Basically I just clone all the projects I need in a single directory and 
then I run:

  streamlined --swank [DIR]

and it pretty much works.  You can still use "lein deps" on projects to 
fetch their dependencies (only once). You can also specify a number of 
directories, and add explicit classpaths with -c (I do this in a Makefile 
these days).  Also, -v or -vv will output lots of juicy info about what it 
does so you can debug issues very easily.

You can find the latest version here if that makes your life simpler (it's 
a single Python script):
http://furius.ca/pubcode/pub/conf/bin/streamlined.html


-- 
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