Safe Haskell | None |
---|---|
Language | Haskell2010 |
Control.Provide
Synopsis
- type family ProviderTypeContext provider
- type family ValueType t a
- class Provides provider key where
- provided :: ValueType (ProviderTypeContext provider) key
- providedP :: forall key provider. Provides provider key => Proxy provider -> ValueType (ProviderTypeContext provider) key
Documentation
type family ProviderTypeContext provider Source #
The "type context" of a provider. Think of this as an open record of types, whose members can influence the types of values in the provider.
Instances
type ProviderTypeContext (ARecProvider tctx recVal) Source # | |
Defined in Control.Provide.ARec |
class Provides provider key where infix 4 Source #
A class indicating that the given provider type provides a value for a given key. The key is typically an empty datatype declared inside the library which receives values using this key.
Methods
provided :: ValueType (ProviderTypeContext provider) key Source #
Instances
(Reifies recVal (ARec (ProviderField tctx) items), RecElem (ARec :: (Type -> Type) -> [Type] -> Type) key key items items (RIndex key items)) => Provides (ARecProvider tctx recVal) key Source # | |
Defined in Control.Provide.ARec Methods provided :: ValueType (ProviderTypeContext (ARecProvider tctx recVal)) key Source # |