Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Utilities that avoid repetition when declaring instances for types
that are not amenable to deriving
, and in particular, types with
existential quantification.
For existentials that only quantify one type variable, this module's
functionality is mostly superseded by the some
Hackage package. However,
this library involves many existentials that quantify multiple variables.
That can be shoehorned into some
with some encoding, but I believe this
module's weight is preferable to the overhead of using that encoding in our
existential data types' declarations.
Synopsis
- runShowsPrec ∷ ∀ a. NoFun "runShowsPrec" a (AbsError "runShowsPrec" a) ⇒ Int → ShowBuilder a → ShowS
- showArg ∷ Show a ⇒ ShowBuilder (a → b) → a → ShowBuilder b
- showCtor ∷ a → String → ShowBuilder a
- showCtorProxy ∷ proxy a → String → ShowBuilder a
- readPrec ∷ Read a ⇒ ReadPrec a
- readArg ∷ Read a ⇒ ReadBuilder a
- readCtor ∷ a → String → ReadBuilder a
- runReadPrec ∷ ∀ a. NoFun "runReadPrec" a (AbsError "runReadPrec" a) ⇒ ReadBuilder a → ReadPrec a
- data Forgotten a
- forgotten ∷ a → Forgotten a
Show
runShowsPrec ∷ ∀ a. NoFun "runShowsPrec" a (AbsError "runShowsPrec" a) ⇒ Int → ShowBuilder a → ShowS Source #
The context is satisfied by any type a
that is manifestly apart from ->
showCtorProxy ∷ proxy a → String → ShowBuilder a Source #
Read
readPrec ∷ Read a ⇒ ReadPrec a #
Proposed replacement for readsPrec
using new-style parsers (GHC only).
runReadPrec ∷ ∀ a. NoFun "runReadPrec" a (AbsError "runReadPrec" a) ⇒ ReadBuilder a → ReadPrec a Source #
The context is satisfied by any type a
that is manifestly apart from ->