Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Internal workings of AutoLift. You usually don't need to import this module.
Synopsis
- newtype AdHoc s a = AdHoc {
- unAdHoc :: a
- data ShowDict a = ShowDict {
- _showsPrec :: Int -> a -> ShowS
- _showList :: [a] -> ShowS
- showDict :: forall a. Show a => ShowDict a
- autoShow1 :: forall f b. (forall a. Show a => Show (f a)) => (forall x y. Coercible x y => Coercible (f x) (f y)) => ShowDict b -> ShowDict (f b)
- autoShow2 :: forall f c d. (forall a b. (Show a, Show b) => Show (f a b)) => (forall x1 x2 y1 y2. (Coercible x1 y1, Coercible x2 y2) => Coercible (f x1 x2) (f y1 y2)) => ShowDict c -> ShowDict d -> ShowDict (f c d)
- autoShow1Functor :: forall f b. (forall a. Show a => Show (f a)) => Functor f => ShowDict b -> ShowDict (f b)
- autoShow2Bifunctor :: forall f c d. (forall a b. (Show a, Show b) => Show (f a b)) => Bifunctor f => ShowDict c -> ShowDict d -> ShowDict (f c d)
- data ReadDict a = ReadDict {
- _readPrec :: ReadPrec a
- _readListPrec :: ReadPrec [a]
- readDict :: forall a. Read a => ReadDict a
- autoRead1 :: forall f b. (forall a. Read a => Read (f a)) => (forall x y. Coercible x y => Coercible (f x) (f y)) => ReadDict b -> ReadDict (f b)
- autoRead2 :: forall f c d. (forall a b. (Read a, Read b) => Read (f a b)) => (forall x1 x2 y1 y2. (Coercible x1 y1, Coercible x2 y2) => Coercible (f x1 x2) (f y1 y2)) => ReadDict c -> ReadDict d -> ReadDict (f c d)
- autoRead1Functor :: forall f b. (forall a. Read a => Read (f a)) => Functor f => ReadDict b -> ReadDict (f b)
- autoRead2Bifunctor :: forall f c d. (forall a b. (Read a, Read b) => Read (f a b)) => Bifunctor f => ReadDict c -> ReadDict d -> ReadDict (f c d)
Documentation
Apply ad hoc instances on type a
.
Injected dictionary of Show
autoShow1 :: forall f b. (forall a. Show a => Show (f a)) => (forall x y. Coercible x y => Coercible (f x) (f y)) => ShowDict b -> ShowDict (f b) Source #
Automatic Show1
autoShow2 :: forall f c d. (forall a b. (Show a, Show b) => Show (f a b)) => (forall x1 x2 y1 y2. (Coercible x1 y1, Coercible x2 y2) => Coercible (f x1 x2) (f y1 y2)) => ShowDict c -> ShowDict d -> ShowDict (f c d) Source #
Automatic Show2
autoShow1Functor :: forall f b. (forall a. Show a => Show (f a)) => Functor f => ShowDict b -> ShowDict (f b) Source #
autoShow2Bifunctor :: forall f c d. (forall a b. (Show a, Show b) => Show (f a b)) => Bifunctor f => ShowDict c -> ShowDict d -> ShowDict (f c d) Source #
autoRead1 :: forall f b. (forall a. Read a => Read (f a)) => (forall x y. Coercible x y => Coercible (f x) (f y)) => ReadDict b -> ReadDict (f b) Source #
Automatic Read1
autoRead2 :: forall f c d. (forall a b. (Read a, Read b) => Read (f a b)) => (forall x1 x2 y1 y2. (Coercible x1 y1, Coercible x2 y2) => Coercible (f x1 x2) (f y1 y2)) => ReadDict c -> ReadDict d -> ReadDict (f c d) Source #