Hoogle Search

Within LTS Haskell 24.6 (ghc-9.10.2)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. sequence :: (Traversable t, Monad m) => t (m a) -> m (t a)

    base Data.Traversable

    Evaluate each monadic action in the structure from left to right, and collect the results. For a version that ignores the results see sequence_.

    Examples

    Basic usage: The first two examples are instances where the input and and output of sequence are isomorphic.
    >>> sequence $ Right [1,2,3,4]
    [Right 1,Right 2,Right 3,Right 4]
    
    >>> sequence $ [Right 1,Right 2,Right 3,Right 4]
    Right [1,2,3,4]
    
    The following examples demonstrate short circuit behavior for sequence.
    >>> sequence $ Left [1,2,3,4]
    Left [1,2,3,4]
    
    >>> sequence $ [Left 0, Right 1,Right 2,Right 3,Right 4]
    Left 0
    

  2. sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a)

    base Data.Traversable

    Evaluate each action in the structure from left to right, and collect the results. For a version that ignores the results see sequenceA_.

    Examples

    Basic usage: For the first two examples we show sequenceA fully evaluating a a structure and collecting the results.
    >>> sequenceA [Just 1, Just 2, Just 3]
    Just [1,2,3]
    
    >>> sequenceA [Right 1, Right 2, Right 3]
    Right [1,2,3]
    
    The next two example show Nothing and Just will short circuit the resulting structure if present in the input. For more context, check the Traversable instances for Either and Maybe.
    >>> sequenceA [Just 1, Just 2, Just 3, Nothing]
    Nothing
    
    >>> sequenceA [Right 1, Right 2, Right 3, Left 4]
    Left 4
    

  3. class TestEquality (f :: k -> Type)

    base Data.Type.Equality

    This class contains types where you can learn the equality of two types from information contained in terms. The result should be Just Refl if and only if the types applied to f are equal:

    testEquality (x :: f a) (y :: f b) = Just Refl ⟺ a = b
    
    Typically, only singleton types should inhabit this class. In that case type argument equality coincides with term equality:
    testEquality (x :: f a) (y :: f b) = Just Refl ⟺ a = b ⟺ x = y
    
    isJust (testEquality x y) = x == y
    
    Singleton types are not required, however, and so the latter two would-be laws are not in fact valid in general.

  4. testEquality :: forall (a :: k) (b :: k) . TestEquality f => f a -> f b -> Maybe (a :~: b)

    base Data.Type.Equality

    Conditionally prove the equality of a and b.

  5. eDESTADDRREQ :: Errno

    base Foreign.C.Error

    No documentation available.

  6. eILSEQ :: Errno

    base Foreign.C.Error

    No documentation available.

  7. ReqArg :: (String -> a) -> String -> ArgDescr a

    base System.Console.GetOpt

    option requires argument

  8. RequireOrder :: ArgOrder a

    base System.Console.GetOpt

    no option processing after first non-option

  9. data UnsafeEquality (a :: k) (b :: k)

    base Unsafe.Coerce

    This type is treated magically within GHC. Any pattern match of the form case unsafeEqualityProof of UnsafeRefl -> body gets transformed just into body. This is ill-typed, but the transformation takes place after type-checking is complete. It is used to implement unsafeCoerce. You probably don't want to use UnsafeRefl in an expression, but you might conceivably want to pattern-match on it. Use unsafeEqualityProof to create one of these.

  10. seq :: a -> b -> b

    base GHC.Base

    The value of seq a b is bottom if a is bottom, and otherwise equal to b. In other words, it evaluates the first argument a to weak head normal form (WHNF). seq is usually introduced to improve performance by avoiding unneeded laziness. A note on evaluation order: the expression seq a b does not guarantee that a will be evaluated before b. The only guarantee given by seq is that the both a and b will be evaluated before seq returns a value. In particular, this means that b may be evaluated before a. If you need to guarantee a specific order of evaluation, you must use the function pseq from the "parallel" package.

Page 135 of many | Previous | Next