I don't want to seem rude but I think you've drank a bit too much
kool-aid.

To say that functional programming and war against state means that
your application doesn't need to be tested thoroughly is a joke. And a
very bad one.

Coverage doesn't just aid you in seeing which parts of state caused
which branches to be hit, it also gives you notice if there are any
logical errors in your code which cause the branches to not be hit.

Aaron

On Tue, Feb 04, 2014 at 03:19:05AM -0800, Colin Yates wrote:
> I don't know.
> 
> But maybe the lack of coverage tools is itself interesting?  My (not quite 
> formed/making this up as I go) view is that maybe coverage tools are there 
> to address the implicit complexity in other mainstream languages and/or to 
> help mitigate the risk of the potentially large and hard-to-identify 
> 'impact analysis' you get in OO systems when you change state.  In other 
> words, coverage is necessary because we want to feel safe that all 
> combinations of our code are extensively tested.  Why don't we feel safe? 
>  Because the system is hard to reason about.
> 
> Functional programming on the other hand is full of much smaller discrete 
> and independent chunks of functionality.  Ideally these small focused 
> 'bricks' are pure/referentially transparent so the *only* context you need 
> when reasoning about them is their parameters and the logic inside. 
>  Assembling these bricks introduces interactions that need to be tested, 
> sure, but there are very few 'call this and watch the change cascade'/'this 
> code is sensitive (i.e. coupled) to that data over there'.
> 
> My ramblings are to say, maybe the root cause of coverage tools is to solve 
> a problem (hard to reason about systems) which shouldn't be much less of a 
> problem in FP when FP is done right.  OO + mutable state = hard to reason 
> about.  FP + immutable state + pure/referentially transparent functions = 
> much easier to reason about.
> 
> Or not.  Just my 2 pence :).
> 
> On Sunday, 2 February 2014 21:34:29 UTC, Aaron France wrote:
> >
> > Hi, 
> >
> > I'm looking for coverage reporting in Clojure. I've been using 
> > Cloverage[1] but I'm just wondering if there are any other coverage 
> > tools? 
> >
> > Aaron 
> >
> >
> > [1] https://github.com/lshift/cloverage 
> >
> 
> -- 
> 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/groups/opt_out.

Attachment: pgpVKilgv_syW.pgp
Description: PGP signature

Reply via email to