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.
ForNormal :: t -> Expr t -> t -> Expr t -> ForContent tyi-mode-javascript Yi.Syntax.JavaScript No documentation available.
biforM_ :: (Bifoldable t, Applicative f) => t a b -> (a -> f c) -> (b -> f d) -> f ()base Data.Bifoldable Alias for bifor_.
bifor_ :: (Bifoldable t, Applicative f) => t a b -> (a -> f c) -> (b -> f d) -> f ()base Data.Bifoldable As bitraverse_, but with the structure as the primary argument. For a version that doesn't ignore the results, see bifor.
Examples
Basic usage:>>> bifor_ ("Hello", True) print (print . show) "Hello" "True">>> bifor_ (Right True) print (print . show) "True"
>>> bifor_ (Left "Hello") print (print . show) "Hello"
bifor :: (Bitraversable t, Applicative f) => t a b -> (a -> f c) -> (b -> f d) -> f (t c d)base Data.Bitraversable bifor is bitraverse with the structure as the first argument. For a version that ignores the results, see bifor_.
Examples
Basic usage:>>> bifor (Left []) listToMaybe (find even) Nothing
>>> bifor (Left [1, 2, 3]) listToMaybe (find even) Just (Left 1)
>>> bifor (Right [4, 5]) listToMaybe (find even) Just (Right 4)
>>> bifor ([1, 2, 3], [4, 5]) listToMaybe (find even) Just (1,4)
>>> bifor ([], [4, 5]) listToMaybe (find even) Nothing
biforM :: (Bitraversable t, Applicative f) => t a b -> (a -> f c) -> (b -> f d) -> f (t c d)base Data.Bitraversable Alias for bifor.
addForeignPtrFinalizer :: ForeignPtr a -> IO () -> IO ()base Foreign.Concurrent This function adds a finalizer to the given ForeignPtr. The finalizer will run before all other finalizers for the same object which have already been registered. This is a variant of addForeignPtrFinalizer, where the finalizer is an arbitrary IO action. When it is invoked, the finalizer will run in a new thread. NB. Be very careful with these finalizers. One common trap is that if a finalizer references another finalized value, it does not prevent that value from being finalized. In particular, Handles are finalized objects, so a finalizer should not refer to a Handle (including stdout, stdin, or stderr).
newForeignPtr :: Ptr a -> IO () -> IO (ForeignPtr a)base Foreign.Concurrent Turns a plain memory reference into a foreign object by associating a finalizer - given by the monadic operation - with the reference. When finalization is triggered by GC, the storage manager will start the finalizer, in a separate thread, some time after the last reference to the ForeignPtr is dropped. There is no guarantee of promptness, and in fact there is no guarantee that the finalizer will eventually run at all for GC-triggered finalization. When finalization is triggered by explicitly calling finalizeForeignPtr, the finalizer will run immediately on the current Haskell thread. Note that references from a finalizer do not necessarily prevent another object from being finalized. If A's finalizer refers to B (perhaps using touchForeignPtr, then the only guarantee is that B's finalizer will never be started before A's. If both A and B are unreachable, then both finalizers will start together. See touchForeignPtr for more on finalizer ordering.
addForeignPtrFinalizer :: FinalizerPtr a -> ForeignPtr a -> IO ()base Foreign.ForeignPtr This function adds a finalizer to the given foreign object. The finalizer will run before all other finalizers for the same object which have already been registered.
addForeignPtrFinalizerEnv :: FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO ()base Foreign.ForeignPtr Like addForeignPtrFinalizer but the finalizer is passed an additional environment parameter.
castForeignPtr :: ForeignPtr a -> ForeignPtr bbase Foreign.ForeignPtr This function casts a ForeignPtr parameterised by one type into another type.