| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Embedder.Atmo.Types
Synopsis
- class TypeAnnotated a where
- tupleTy :: Annote -> [Ty] -> Ty
- arr :: Ty -> Ty -> Ty
- intTy :: Annote -> Ty
- strTy :: Annote -> Ty
- nilTy :: Ty
- refTy :: Annote -> Ty -> Ty
- (|->) :: [Text] -> Ty -> Poly
- rangeTy :: Ty -> Ty
- sig :: [Ty] -> Ty -> Ty
- flattenSig :: Ty -> ([Ty], Ty)
- pairTy :: Annote -> Ty -> Ty -> Ty
- arrowRight :: Ty -> Ty
- arrowLeft :: Ty -> Ty
- higherOrder :: Ty -> Bool
- fundamental :: Ty -> Bool
- concrete :: Ty -> Bool
- paramTys :: Ty -> [Ty]
- finMax :: Ty -> Maybe Natural
- proxyNat :: Ty -> Maybe Natural
- finiteTy :: Annote -> Natural -> Ty
- vecSize :: Ty -> Maybe Natural
- vecElemTy :: Ty -> Maybe Ty
- vecTy :: Annote -> Ty -> Ty -> Ty
- evalNat :: Ty -> Maybe Natural
- mkArrowTy :: [Ty] -> Ty -> Ty
- mkTyApp :: Annote -> Ty -> [Ty] -> Ty
- poly :: [Text] -> Ty -> Poly
- poly' :: Ty -> Poly
- listTy :: Annote -> Ty -> Ty
- plusTy :: Annote -> Natural -> Natural -> Ty
- dstPlusTy :: Ty -> Maybe (Ty, Ty)
- isReacT :: Ty -> Bool
- isStateT :: Ty -> Bool
- ctorNames :: Ty -> [Text]
- resInputTy :: Ty -> Maybe Ty
- dstArrow :: Ty -> Maybe (Ty, Ty)
- dstStateT :: Ty -> Maybe [Ty]
- dstTyApp :: Ty -> Maybe (Ty, Ty)
- dstReacT :: Ty -> Maybe (Ty, Ty, [Ty], Ty)
- proxyTy :: Annote -> Natural -> Ty
- dstNegTy :: Ty -> Maybe Ty
- negTy :: Annote -> Ty -> Ty
- dstPoly1 :: Ty -> Maybe Poly1
- data Poly1
- minusP1 :: Poly1 -> Poly1 -> Poly1
- zeroP1 :: Poly1
- pickVar :: Poly1 -> Maybe (Text, Poly1)
- poly1Ty :: Poly1 -> Ty
Documentation
class TypeAnnotated a where Source #
Instances
arrowRight :: Ty -> Ty Source #
Given 'a -> (b -> c)' returns 'b -> c'.
higherOrder :: Ty -> Bool Source #
fundamental :: Ty -> Bool Source #
Types with no built-ins (Strings, Integers, lists).
mkArrowTy :: [Ty] -> Ty -> Ty Source #
Takes [T1, ..., Tn-1] Tn and returns (T1 -> (T2 -> ... (T(n-1) -> Tn) ...))
dstStateT :: Ty -> Maybe [Ty] Source #
This takes a type of the form
StateT S1 (StateT S2 (... (StateT Sm I)))
and returns
[S1, ..., Sm]
dstReacT :: Ty -> Maybe (Ty, Ty, [Ty], Ty) Source #
This takes a type of the form
ReacT In Out (StateT S1 (StateT S2 (... (StateT Sm I)))) T
and returns
(In, Out, [S1, ..., Sm], T)