|
|
|
Description |
Needs IdSupply badly!
|
|
Synopsis |
|
countArrows :: Type TokenId -> Int | | defFixity :: (InfixClass a, Int) | | defFixFun :: t -> (InfixClass a, Int) | | fixFun :: Map TokenId (InfixClass TokenId, Int) -> (TokenId -> (InfixClass TokenId, Int)) -> TokenId -> (InfixClass TokenId, Int) | | fixOne :: (Show b, Eq b) => PackedString -> (InfixClass TokenId, b, [FixId TokenId]) -> (Map TokenId (InfixClass TokenId, b), [Error]) -> (Map TokenId (InfixClass TokenId, b), [Error]) | | freeType :: Type a -> [a] | | iextractClass :: IE -> (TokenId -> Bool) -> Pos -> [Context TokenId] -> TokenId -> TokenId -> [([((a, TokenId), b)], [Context TokenId], Type TokenId)] -> [TokenId] -> () -> ImportState -> ImportState | | iextractData :: IE -> (TokenId -> Bool) -> Either Bool Bool -> [Context TokenId] -> Pos -> TokenId -> [(Pos, TokenId)] -> [Constr TokenId] -> [TokenId] -> State0 () ImportState ImportState | | iextractDataPrim :: IE -> (TokenId -> Bool) -> Pos -> TokenId -> Int -> a -> ImportState -> ImportState | | iextractInstance :: TokenId -> [Context TokenId] -> a -> TokenId -> Type TokenId -> () -> ImportState -> ImportState | | iextractType :: IE -> (Int, Bool) -> (TokenId -> Bool) -> a -> TokenId -> [(Pos, TokenId)] -> Type TokenId -> State0 () ImportState ImportState | | iextractVarsType :: ((TokenId -> Bool) -> TokenId -> IdKind -> IE) -> (TokenId -> Bool) -> [((a, TokenId), Maybe Int)] -> [Context TokenId] -> Type TokenId -> State0 () ImportState ImportState | | addPreludeTupleInstances :: () -> ImportState -> ImportState | | needFixity :: [(InfixClass TokenId, Int, [FixId TokenId])] -> ImportState -> ImportState | | tvrPosTids :: [(Pos, TokenId)] -> ([(TokenId, Id)], [(Pos, Id)]) | | tvPosTids :: [(Pos, TokenId)] -> [(TokenId, Id)] | | tvTids :: [TokenId] -> [(TokenId, Id)] | | getNeedIS :: ImportState -> (PackedString, PackedString, Set TokenId) | | putModidIS :: ImportState -> PackedString -> ImportState |
|
|
Documentation |
|
countArrows :: Type TokenId -> Int |
|
defFixity :: (InfixClass a, Int) |
|
defFixFun :: t -> (InfixClass a, Int) |
|
fixFun :: Map TokenId (InfixClass TokenId, Int) -> (TokenId -> (InfixClass TokenId, Int)) -> TokenId -> (InfixClass TokenId, Int) |
|
fixOne :: (Show b, Eq b) => PackedString -> (InfixClass TokenId, b, [FixId TokenId]) -> (Map TokenId (InfixClass TokenId, b), [Error]) -> (Map TokenId (InfixClass TokenId, b), [Error]) |
|
freeType :: Type a -> [a] |
Return a list of type variables occurring in the type.
|
|
iextractClass :: IE -> (TokenId -> Bool) -> Pos -> [Context TokenId] -> TokenId -> TokenId -> [([((a, TokenId), b)], [Context TokenId], Type TokenId)] -> [TokenId] -> () -> ImportState -> ImportState |
|
iextractData :: IE -> (TokenId -> Bool) -> Either Bool Bool -> [Context TokenId] -> Pos -> TokenId -> [(Pos, TokenId)] -> [Constr TokenId] -> [TokenId] -> State0 () ImportState ImportState |
Extend importState by a new data type;
the information about the data type comes from an interface file
|
|
iextractDataPrim :: IE -> (TokenId -> Bool) -> Pos -> TokenId -> Int -> a -> ImportState -> ImportState |
|
iextractInstance :: TokenId -> [Context TokenId] -> a -> TokenId -> Type TokenId -> () -> ImportState -> ImportState |
|
iextractType :: IE -> (Int, Bool) -> (TokenId -> Bool) -> a -> TokenId -> [(Pos, TokenId)] -> Type TokenId -> State0 () ImportState ImportState |
|
iextractVarsType :: ((TokenId -> Bool) -> TokenId -> IdKind -> IE) -> (TokenId -> Bool) -> [((a, TokenId), Maybe Int)] -> [Context TokenId] -> Type TokenId -> State0 () ImportState ImportState |
|
addPreludeTupleInstances :: () -> ImportState -> ImportState |
addPreludeTupleInstances is an efficiency hack.
It takes a long time to parse the Prelude.hi file, and adding large
numbers of tuple instances to the .hi file increases compile-times
by 30% or more.
Omitting them from the .hi file and adding them by hand here, therefore
gives a big time saving.
|
|
needFixity :: [(InfixClass TokenId, Int, [FixId TokenId])] -> ImportState -> ImportState |
|
tvrPosTids :: [(Pos, TokenId)] -> ([(TokenId, Id)], [(Pos, Id)]) |
Number the identifiers, beginning with 1.;
return the renaming mapping and the renamed list
|
|
tvPosTids :: [(Pos, TokenId)] -> [(TokenId, Id)] |
Number the identifiers, beginning with 1. First drop positions.
|
|
tvTids :: [TokenId] -> [(TokenId, Id)] |
Number the identifiers, beginning with 1.
|
|
getNeedIS :: ImportState -> (PackedString, PackedString, Set TokenId) |
|
putModidIS :: ImportState -> PackedString -> ImportState |
put modid of interface file into import state
|
|
Produced by Haddock version 0.8 |