Hi Ken,
 thank you for your response. Do you think you can give me a quick example
of how to extend an Exception to be able to extract the value from the
exception when it is caught.. Should I be using gen-class for this? (seems
quiet messy to me)... do you have a better suggestion..

Thanks,
Sunil.

On Sun, Jul 31, 2011 at 7:59 PM, Ken Wesson <[email protected]> wrote:

> On Sun, Jul 31, 2011 at 10:25 AM, Sunil S Nandihalli
> <[email protected]> wrote:
> > Hello everybody,
> >  I would like to have a long running process to return its current
> solution
> > after some pre-determined amount of time. It so happens that the
> iteration
> > is happening at a deeper nested function. I would like to have a way to
> > return from this nested function when its time ... How can I do this.
> > Currently I am considering using the
> > throw catch mechanism to do the job. Is there a better way of doing
> things
> > like this .. . I basically would like to have a non-local return ..
> > something like the common-lisps return-from .. I
> > found return-from equivalent in clojure.. I was hoping there is a nicer
> way
> > to deal with this when the function calls are quiet deeply nested..
>
> Probably the least messy way to deal with it is to sprinkle
> (Thread/sleep 0)s through the innermost loops of the algorithm, one in
> each, and the outermost loop that refines the in-progress result has a
> try ... catch for InterruptedException that handles it by returning
> the current approximation. Then have a separate threat that calls
> interrupt on the calculational thread on a timer, or if a user clicks
> a Cancel button on a progress dialog, or whatever.
>
> This is more or less what InterruptedException is for; and breaking
> out of an algorithm in an unusual way is the kind of job for which
> exceptions are well suited, as well as returning from fairly deep up
> to a specific handler.
>
> --
> Protege: What is this seething mass of parentheses?!
> Master: Your father's Lisp REPL. This is the language of a true
> hacker. Not as clumsy or random as C++; a language for a more
> civilized age.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> [email protected]
> 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 post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to