Hoogle Search
Within LTS Haskell 24.48 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
forkThread_ :: Program τ α -> Program τ ()core-program Core.Program.Threads Fork a thread with forkThread but do not wait for a result. This is on the assumption that the sub program will either be a side-effect and over quickly, or long-running daemon thread (presumably containing a forever loop in it), never returning.
forgetDisproof :: Decision a -> Maybe adecidable Data.Type.Predicate Converts a Decision to a Maybe. Drop the witness of disproof of a, returning Just if Proved (with the proof) and Nothing if Disproved.
forgetProof :: Decision a -> Maybe (Refuted a)decidable Data.Type.Predicate Drop the witness of proof of a, returning Nothing if Proved and Just if Disproved (with the disproof).
forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)distribution-opensuse OpenSuse.Prelude forM is mapM with its arguments flipped. For a version that ignores the results see forM_.
forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()distribution-opensuse OpenSuse.Prelude forM_ is mapM_ with its arguments flipped. For a version that doesn't ignore the results see forM. forM_ is just like for_, but specialised to monadic actions.
forever :: Applicative f => f a -> f bdistribution-opensuse OpenSuse.Prelude Repeat an action indefinitely.
Examples
A common use of forever is to process input from network sockets, Handles, and channels (e.g. MVar and Chan). For example, here is how we might implement an echo server, using forever both to listen for client connections on a network socket and to echo client input on client connection handles:echoServer :: Socket -> IO () echoServer socket = forever $ do client <- accept socket forkFinally (echo client) (\_ -> hClose client) where echo :: Handle -> IO () echo client = forever $ hGetLine client >>= hPutStrLn client
Note that "forever" isn't necessarily non-terminating. If the action is in a MonadPlus and short-circuits after some number of iterations. then forever actually returns mzero, effectively short-circuiting its caller.forceRecomp :: Params cfgType a -> Booldyre Config.Dyre Should GHC be given the -fforce-recomp flag?
forceRecomp :: Params cfgType a -> Booldyre Config.Dyre.Params Should GHC be given the -fforce-recomp flag?
format :: Formattable a => a -> Stringepub-metadata Codec.Epub.Format No documentation available.
formatGuide :: [GuideRef] -> Stringepub-metadata Codec.Epub.Format.Guide Format an epub Guide structure for pretty printing