Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
This module is intended for internal use only, and may change without warning in subsequent releases.
Synopsis
- type IxList = [Type]
- type NoIx = ('[] :: IxList)
- type WithIx i = ('[i] :: IxList)
- type family QuoteType (x :: Type) :: ErrorMessage where ...
- type family QuoteSymbol (x :: Symbol) :: ErrorMessage where ...
- type family ShowSymbolWithOrigin symbol origin :: ErrorMessage where ...
- type family ShowSymbolsWithOrigin (fs :: [(Symbol, Symbol)]) :: ErrorMessage where ...
- type family ShowOperators (ops :: [Symbol]) :: ErrorMessage where ...
- type family AppendEliminations a b where ...
- type family ShowEliminations forms :: ErrorMessage where ...
- data RepDefined = RepDefined
- type family AnyHasRep (s :: Type -> Type) (t :: Type -> Type) :: RepDefined
- type family Curry (xs :: IxList) (y :: Type) :: Type where ...
- type family Append (xs :: [k]) (ys :: [k]) :: [k] where ...
- class CurryCompose xs where
Documentation
type family QuoteType (x :: Type) :: ErrorMessage where ... Source #
Show a type surrounded by quote marks.
type family QuoteSymbol (x :: Symbol) :: ErrorMessage where ... Source #
Show a symbol surrounded by quote marks.
type family ShowSymbolWithOrigin symbol origin :: ErrorMessage where ... Source #
ShowSymbolWithOrigin symbol origin = (((Text " " :<>: QuoteSymbol symbol) :<>: Text " (from ") :<>: Text origin) :<>: Text ")" |
type family ShowSymbolsWithOrigin (fs :: [(Symbol, Symbol)]) :: ErrorMessage where ... Source #
ShowSymbolsWithOrigin '['(symbol, origin)] = ShowSymbolWithOrigin symbol origin | |
ShowSymbolsWithOrigin ('(symbol, origin) ': rest) = ShowSymbolWithOrigin symbol origin :$$: ShowSymbolsWithOrigin rest |
type family ShowOperators (ops :: [Symbol]) :: ErrorMessage where ... Source #
ShowOperators '[op] = QuoteSymbol op :<>: Text " (from Optics.Operators)" | |
ShowOperators (op ': rest) = (QuoteSymbol op :<>: Text " ") :<>: ShowOperators rest |
type family AppendEliminations a b where ... Source #
AppendEliminations '(fs1, ops1) '(fs2, ops2) = '(Append fs1 fs2, Append ops1 ops2) |
type family ShowEliminations forms :: ErrorMessage where ... Source #
ShowEliminations '(fs, ops) = ShowSymbolsWithOrigin fs :$$: (Text " " :<>: ShowOperators ops) |
data RepDefined Source #
type family AnyHasRep (s :: Type -> Type) (t :: Type -> Type) :: RepDefined Source #
This type family should be called with applications of Rep
on both sides,
and will reduce to RepDefined
if at least one of them is defined; otherwise
it is stuck.
Instances
type AnyHasRep s (t x) Source # | |
Defined in Optics.Internal.Optic.TypeLevel | |
type AnyHasRep (s x) t Source # | |
Defined in Optics.Internal.Optic.TypeLevel |
type family Append (xs :: [k]) (ys :: [k]) :: [k] where ... Source #
Append two type-level lists together.
class CurryCompose xs where Source #
Class that is inhabited by all type-level lists xs
, providing the ability
to compose a function under
.Curry
xs
Instances
CurryCompose ([] :: [Type]) Source # | |
CurryCompose xs => CurryCompose (x ': xs) Source # | |