Haskell doesn't, but the compilers all support a kind of global mutable variable. See various lengthy discussions on the topic on this list and the Haskell list in the past. Briefly, you do it like this:
{-# NOILINE var #-} var :: IORef [ThreadId] var = unsafePerformIO (newIORef []) and if you're using GHC, compile the module with -fno-cse. Cheers, Simon On 22 September 2005 17:58, S. Alexander Jacobson wrote: > Ok, I didn't think Haskell had mutable global variables. > How would this work? > > -ALex- > > On Thu, 22 Sep 2005, Simon Marlow wrote: > >> There's no getAllThreadIds or similar right now. You have to save >> the ThreadIds yourself, perhaps in a global variable. Writing to a >> file doesn't work because there's no instance Read ThreadId. >> >> Cheers, >> Simon >> >> On 21 September 2005 21:14, S. Alexander Jacobson wrote: >> >>> More particularly, is there a getAllThreadIds function somewhere? >>> >>> -Ale- >>> >>> On Wed, 21 Sep 2005, S. Alexander Jacobson wrote: >>> >>>> Is the general pattern to write all threadIds to a file, and then >>>> have a separate function that takes the file and kills them? >>>> >>>> Or is there something more clever? >>>> >>>> -Alex- >>>> >>>> On Wed, 21 Sep 2005, Simon Marlow wrote: >>>> >>>>> On 16 September 2005 20:42, S. Alexander Jacobson wrote: >>>>> >>>>>> If I am running a server interactively. (using ghci). >>>>>> Is there any way to kill its running threads without terminating >>>>>> the interpreter? >>>>> >>>>> If you can get ThreadIds for the threads, yes. GHCi doesn't >>>>> (currently) create a new thread for each expression evaluation, so >>>>> attempting to kill that thread might kill your GHCi session (it >>>>> shouldn't but that's another story). >>>>> >>>>> Cheers, >>>>> Simon >>>>> >>>>> ** CRM114 Whitelisted by: [EMAIL PROTECTED] ** >>>>> >>>> >>>> ______________________________________________________________ >>>> S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com >>>> >>> >>> ______________________________________________________________ >>> S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com >> >> ** CRM114 Whitelisted by: [EMAIL PROTECTED] ** >> > > ______________________________________________________________ > S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe