Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type FreeVarIdx = Int
- data Sig varIx
- sigsFromHie :: HieAST a -> Map Name [Sig FreeVarIdx]
- sigFingerprint :: [Sig a] -> [Sig ()]
- isQual :: Sig a -> Bool
Documentation
type FreeVarIdx = Int Source #
The internal representation of a type. Function types are represented as a linked list with the init elems being the context followed by arguments of the function and the last being the result type.
TyDescriptor !FastString !(Maybe Name) | |
FreeVar !varIx | |
Arg ![Sig varIx] | |
Qual ![Sig varIx] | |
Apply ![Sig varIx] ![[Sig varIx]] | |
VarCtx ![varIx] | |
Tuple ![[Sig varIx]] | |
KindSig ![Sig varIx] ![Sig varIx] |
Instances
Functor Sig Source # | |
Foldable Sig Source # | |
Defined in MatchSigs.Sig fold :: Monoid m => Sig m -> m # foldMap :: Monoid m => (a -> m) -> Sig a -> m # foldMap' :: Monoid m => (a -> m) -> Sig a -> m # foldr :: (a -> b -> b) -> b -> Sig a -> b # foldr' :: (a -> b -> b) -> b -> Sig a -> b # foldl :: (b -> a -> b) -> b -> Sig a -> b # foldl' :: (b -> a -> b) -> b -> Sig a -> b # foldr1 :: (a -> a -> a) -> Sig a -> a # foldl1 :: (a -> a -> a) -> Sig a -> a # elem :: Eq a => a -> Sig a -> Bool # maximum :: Ord a => Sig a -> a # | |
Eq varIx => Eq (Sig varIx) Source # | |
Ord varIx => Ord (Sig varIx) Source # | |
Defined in MatchSigs.Sig | |
Show varIx => Show (Sig varIx) Source # | |
sigsFromHie :: HieAST a -> Map Name [Sig FreeVarIdx] Source #
Produce a Map
from function Name
s to their type signature's
internal representation.