On Dec 28, 2013, at 11:27 AM, Cedric Greevey wrote:
> 
> It helps to go with the "functional, immutable" flow, in which case if you 
> get an unwanted exception it should *usually* have bubbled up from some 
> failing test. Add a dump-locals where suggested by the stack trace and rerun 
> the failing test and voila! That should do it for almost all non-exogenous 
> exceptions, leaving mainly things like network timeouts and other wonkiness 
> caused by factors outside of your code (and, often, outside of your control 
> anyway).

You've given me some interesting things to think about re: the role of testing, 
but I think that it may be hard to map your approach directly on to the kind of 
work that I do. 

I often work with stochastic simulations which run for days and for which 
repeatability is hard to engineer, especially in a multicore context. There's a 
lot of unpredictable dynamism and usually code is generated and run dynamically 
(and mutated and recombined; this is "genetic programming"). Even if you code 
functionally and immutably (which I try to do, to a reasonable extent), and 
stamp out all nondeterminism (which would be a pain), it may take days to 
re-create a situation.

So it'd be really nice if the system could just spit out more of the state that 
produced the exception in the first place, when it happens.

 -Lee

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

Reply via email to