LISP systems work better when they are continually up-and-running. Take 
Emacs for example. Clojure systems aren't much different. 

I prefer to think of lein more as a launch tool than a build tool.

I don't think anyone has mentioned it on this thread yet, but lots of 
people are using Stuart Sierra's component workflow for precisely this 
reason - you can make changes and see the effects very quickly simply by 
typing (reset) into the REPL. See https://github.com/stuartsierra/component

For a working example of incremental compilation, 
see http://modularity.org/templates/dashboard.html - it will recompile your 
ClojureScript and Less css files incrementally, and can do so because it 
can keep context between resets. It's possible to add 'test' components 
which will run your tests after every reset. I don't have any templates 
demonstrating that yet, but I have seen people do it.


On Thursday, 8 January 2015 14:20:56 UTC, Andrea Crotti wrote:
>
> Ah great that's what I wanted, I'll try later. 
> Does it give some feedback on what it's compiling and what is going on? 
>
> I would use just cider in theory but I had some errors with namespaces 
> (probably my fault) and more importantly it seemed that it didn't 
> always recompiled things that were changed (again probably my fault). 
>
> So in short only changing dependencies should require a new "lein 
> test" or "lein deps"? 
>
> And this useful plugins do you normally put them in your 
> ./lein/profiles.clj or in every project you have? 
>
> thanks a lot 
>
> 2015-01-08 11:41 GMT+00:00 Robin Heggelund Hansen <skinn...@gmail.com 
> <javascript:>>: 
> > The reason lein is initially slow, has to do with Clojures bootstrapping 
> > process, which is slow. People tend to avoid starting clojure programs 
> > repeatedly, and thus do alot of work from the repl, or using leiningen 
> > plugins which keeps running and listens for changes. 
> > 
> > Take a look at lein-test-refresh for tdd: 
> > 
> > https://github.com/jakemcc/lein-test-refresh 
> > 
> > It detects when you change your code, incrementally compiles and re-runs 
> the 
> > tests. It runs your tests everytime you save a file :) 
> > 
> > kl. 12:32:44 UTC+1 torsdag 8. januar 2015 skrev Andrea Crotti følgende: 
> >> 
> >> Hi guys, 
> >> 
> >> I'm starting to use Clojure a bit more seriously, I knew already Lisp a 
> >> bit and Haskell, in plus I've been using Emacs for a long time so 
> >> luckily it's not as hard, and it's a lot of fun. 
> >> 
> >> I'm using Emacs + Cider for development and it works wonderfully, 
> >> however I have a few problems/questions trying to do TDD. 
> >> 
> >> 1. Isn't it possible to make Lein more verbose? 
> >> 
> >>    It's often quite slow and it would be nice to know what is going 
> >>    on, I can stand the slowness but at least tell me something :D 
> >> 
> >> 2. When is exactly that I need to run again "lein test" (which is 
> >>    painfully slow) and when just rerunning the tests from the same REPL 
> >>    suffice? 
> >> 
> >>    I thought only when changing dependencies, but I had different 
> >>    experiences so I'm not too sure about the rule. 
> >> 
> >>    And what command exactly is Cider triggering when I run the tests? 
> >>    It would be nice to be able to see somewhere more information like: 
> >>    - compiling file x 
> >>    - running tests for y with command z 
> >> 
> >>  3. Does incremental compilation work well/make sense for Clojure? 
> >>     I found something but the fact that it's not done straight away in 
> >>     Leiningen makes me think it's maybe not much used? 
> >> 
> >> Thanks a lot, and congratulations to all the developers for the great 
> >> language! 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> > Groups "Clojure" group. 
> > To post to this group, send email to clo...@googlegroups.com 
> <javascript:> 
> > Note that posts from new members are moderated - please be patient with 
> your 
> > first post. 
> > To unsubscribe from this group, send email to 
> > clojure+u...@googlegroups.com <javascript:> 
> > 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+u...@googlegroups.com <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>

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

Reply via email to