Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data TypeInfo (lang :: Language) = TypeInfo {
- _typePackage :: !Text
- _typeModule :: !Text
- _typeName :: !Text
- _typeParameters :: ![TypeInfo lang]
- type PSType = TypeInfo 'PureScript
- type HaskellType = TypeInfo 'Haskell
- mkTypeInfo :: Typeable t => Proxy t -> HaskellType
- mkTypeInfo' :: TypeRep -> HaskellType
- data Language
- typePackage :: forall lang. Lens' (TypeInfo lang) Text
- typeModule :: forall lang. Lens' (TypeInfo lang) Text
- typeName :: forall lang. Lens' (TypeInfo lang) Text
- typeParameters :: forall lang lang. Lens (TypeInfo lang) (TypeInfo lang) [TypeInfo lang] [TypeInfo lang]
- class HasHaskType t
- haskType :: HasHaskType t => Lens' t HaskellType
- flattenTypeInfo :: TypeInfo lang -> [TypeInfo lang]
Documentation
data TypeInfo (lang :: Language) Source #
Basic info about a data type:
TypeInfo | |
|
Instances
HasHaskType HaskellType Source # | |
Defined in Language.PureScript.Bridge.TypeInfo | |
Show (TypeInfo lang) Source # | |
Eq (TypeInfo lang) Source # | |
Ord (TypeInfo lang) Source # | |
Defined in Language.PureScript.Bridge.TypeInfo compare :: TypeInfo lang -> TypeInfo lang -> Ordering # (<) :: TypeInfo lang -> TypeInfo lang -> Bool # (<=) :: TypeInfo lang -> TypeInfo lang -> Bool # (>) :: TypeInfo lang -> TypeInfo lang -> Bool # (>=) :: TypeInfo lang -> TypeInfo lang -> Bool # |
type PSType = TypeInfo 'PureScript Source #
For convenience:
type HaskellType = TypeInfo 'Haskell Source #
For convenience:
mkTypeInfo :: Typeable t => Proxy t -> HaskellType Source #
mkTypeInfo' :: TypeRep -> HaskellType Source #
typeParameters :: forall lang lang. Lens (TypeInfo lang) (TypeInfo lang) [TypeInfo lang] [TypeInfo lang] Source #
class HasHaskType t Source #
Types that have a lens for accessing a 'TypeInfo Haskell'.
Instances
HasHaskType BridgeData Source # | By implementing the Example: stringBridge :: BridgePart stringBridge = do -- Note: we are using the HaskellType instance here: haskType ^== mkTypeInfo (Proxy :: Proxy String) return psString |
Defined in Language.PureScript.Bridge.Builder | |
HasHaskType HaskellType Source # | |
Defined in Language.PureScript.Bridge.TypeInfo |
haskType :: HasHaskType t => Lens' t HaskellType Source #
flattenTypeInfo :: TypeInfo lang -> [TypeInfo lang] Source #
Put the TypeInfo in a list together with all its _typeParameters
(recursively)