Hoogle Search

Within LTS Haskell 22.21 (ghc-9.6.5)

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

  1. impossible :: Var Empty -> a

    row-types Data.Row

    A Variant with no options is uninhabited.

  2. impossible :: Var Empty -> a

    row-types Data.Row.Variants

    A Variant with no options is uninhabited.

  3. impossible :: Which '[] -> a

    data-diverse Data.Diverse.Which

    Analogous to absurd. Renamed impossible to avoid conflicts. Since 'Which '[]' values logically don't exist, this witnesses the logical reasoning tool of "ex falso quodlibet", ie "from falsehood, anything follows". A 'Which '[]' is a Which with no alternatives, which may occur as a Left-over from trialing a Which '[x] with one type. It is an uninhabited type, just like Void

  4. impossible :: Which '[] -> a

    data-diverse Data.Diverse.Which.Internal

    Analogous to absurd. Renamed impossible to avoid conflicts. Since 'Which '[]' values logically don't exist, this witnesses the logical reasoning tool of "ex falso quodlibet", ie "from falsehood, anything follows". A 'Which '[]' is a Which with no alternatives, which may occur as a Left-over from trialing a Which '[x] with one type. It is an uninhabited type, just like Void

  5. impossible :: HasCallStack => Impossible

    Agda Agda.Utils.Impossible

    No documentation available.

  6. module Agda.Utils.Impossible

    An interface for reporting "impossible" errors

  7. data Impossible

    Agda Agda.Utils.Impossible

    "Impossible" errors, annotated with a file name and a line number corresponding to the source code location of the error.

  8. Impossible :: CallStack -> Impossible

    Agda Agda.Utils.Impossible

    We reached a program point which should be unreachable.

  9. class Disallowed "Impossible" => Impossible t

    trivial-constraint Data.Constraint.Trivial

    This constraint can never be fulfilled. One application in which this can be useful is as a default for a class-associated constraint; this basically disables any method with that constraint: so it can safely be left undefined. We provide the nope method as a special form of undefined, which actually guarantees it is safe through the type system. For instance, the old monad class with its controversial fail method could be changed to

    class Applicative m => Monad m where
    (return,(>>=)) :: ...
    type FailableResult m :: * -> Constraint
    type FailableResult m = Impossible  -- fail disabled by default
    fail :: FailableResult m a => String -> m a
    fail = nope
    
    This would turn any use of fail in a “pure” monad (which does not actually define fail) into a type error. Meanwhile, “safe” uses of fail, such as in the IO monad, could be kept as-is, by making the instance
    instance Monad IO where
    (return,(>>=)) = ...
    type FailableResult m = Unconstrained
    fail = throwErrow
    
    Other instances could support the fail method only selectively for particular result types, again by picking a suitable FailableResult constraint (e.g. Monoid).

  10. impossibleConstraintError :: Addr# -> a

    base Control.Exception.Base

    No documentation available.

Page 1 of many | Next