Hoogle Search
Within LTS Haskell 24.38 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
easyplot Graphics.EasyPlot Plots the function only for the given x values
-
easyplot Graphics.EasyPlot Plots the function only for the given y values
-
exomizer Exomizer.Mem Starting at the lowest and ending the byte after the highest
-
exomizer Exomizer.Raw Starting at the lowest and ending the byte after the highest
-
floatshow Text.FShow.Raw The Style in which to format the display String
module Control.Concurrent.
Forkable This module defines a generic version of Control.Concurrent's forkIO, which can directly run some complex monadic actions as well as plain IO actions. Control.Concurrent's forkIO accepts an IO computation only, and requires the caller to reconstruct the full monadic stack by hand in the new thread. In contrast, this module's forkIO runs a computation in the same monad as the parent thread, transparently transplanting the monad stack to the new thread. For example, the following code which uses Control.Concurrent's forkIO:
type MyMonad = ReaderT Int (StateT String IO) forkAndDo :: MyMonad ThreadId forkAndDo = do r <- ask s <- lift get liftIO $ forkIO $ (runStateT (runReaderT forkedDo r) s >> return ()) forkedDo :: MyMonad () forkedDo = liftIO $ putStrLn "forkedDo running"
can be reexpressed with this module's forkIO as:type MyMonad = ReaderT Int (StateT String IO) forkAndDo :: MyMonad ThreadId forkAndDo = forkIO forkedDo forkedDo :: MyMonad () forkedDo = liftIO $ putStrLn "forkedDo running"
forkIO can operate on any monad that is an instance of ForkableMonad. ForkableMonad instances are defined for ReaderT and StateT, as well as IO. Here is the precise meaning of "transplant" for each of these:- IO requires no special work, since Control.Concurrent's forkIO already provides the "transplanting" of an IO action to a new thread.
- ReaderT makes the parent thread's environment available for consultation in the new thread.
- StateT makes a copy of the parent thread's state available in the new thread. The states in the two threads are not linked, so it is expected that they will diverge as each thread updates its own copy of the state.
class Monad m =>
ForkableMonad (m :: Type -> Type)forkable-monad Control.Concurrent.Forkable No documentation available.
type family
ForceGCParse (dtName :: Symbol) (cstr :: Symbol) (a :: Either ErrorMessage k) :: kgeneric-data-functions Generic.Data.MetaParse.Cstr Unwrap a generic constructor parse result. Emits a TypeError on parse failure.
type
ForeignHValue = ForeignRef HValueghc-lib GHC No documentation available.
-
Formats on this architecture A Format is a combination of width and class TODO: Signed vs unsigned? TODO: This module is currently shared by all architectures because NCGMonad need to know about it to make a VReg. It would be better to have architecture specific formats, and do the overloading properly. eg SPARC doesn't care about FF80.