YhcSource codeContentsIndex
IExtract
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