Dear Haskell users,

I am working on a command-driven tool (::IO ()).
If the system invokes itself again, and the system's returned
data type would be 'IO a', say (IO Exp) (Expression).

tool:: a -> IO()

The nested tool invocation returns (IO Exp) to the previous tool.
I am using dynamic error exception handling like (throwDyn exp).

If I use 'forkIO', then it works for this situation (e.g. IO Exp) but it is not working for 'quit' command (quit the tool:: thread blocked indefinitely) - quit the subtool and return to the previous tool.

Any suggestion would be helpful?

tool = {tool1, tool2, tool3, ...}

tool1:: (IO ())
  invoked  tool2:: (IO a)
     may invoked tool3:: (IO a)

tool2 is working basically on IO() and if I got the Exp (proved), then return it to the previous tool (say tool1).

Thanks in advance,

min
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to