[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / tests / TIMING / HelpMicroPrel.hi
1 interface HelpMicroPrel where
2 alpha :: UniType
3 alpha_tyvar :: TyVar
4 alpha_tyvarU :: Int
5 alpha_tyvars :: [TyVar]
6 applySubstToId :: Subst -> Id -> Id
7 applySubstToTauTy :: Subst -> UniType -> UniType
8 applySubstToThetaTy :: Subst -> [(Class, UniType)] -> [(Class, UniType)]
9 applySubstToTy :: Subst -> UniType -> UniType
10 applyTy :: UniType -> UniType -> UniType
11 applyTyCon :: TyCon -> [UniType] -> UniType
12 applyTyConLazily :: TyCon -> TyCon -> [UniType] -> UniType
13 assocMaybe :: (Eq a) => a -> [(a, b)] -> Labda b
14 bOTTOM_ID :: Id
15 beta_tyvar :: TyVar
16 beta_tyvarU :: Int
17 binTyCon :: TyCon
18 binTyConU :: Int
19 catMaybes :: [Labda a] -> [a]
20 catQuickStrings :: [QuickString] -> QuickString
21 charPrimRelOpTy :: UniType
22 charPrimTy :: UniType
23 charPrimTyCon :: TyCon
24 charPrimTyConU :: Int
25 checkInstanceShape :: UniType -> Labda (TyCon, [TyVar])
26 chrPrimId :: Id
27 data PprStyle = PprForUser | PprDebug | PprShowAll | PprInterface deriving ()
28 data Env a b
29 data GVE
30 data TCE
31 data PrettyRep
32 data PrimitiveOp
33 class AbsSynParam a where
34         hasType         :: a -> Bool
35         getType         :: a -> UniType
36         isConop         :: a -> Bool
37         isAconid                :: a -> Bool
38         isAconop                :: a -> Bool
39         isAvarid                :: a -> Bool
40         isAvarop                :: a -> Bool
41 class Outputable a where
42         frc             :: a -> Int
43         ppr             :: PprStyle -> a -> Int -> Bool -> PrettyRep
44 data Annotations
45 data CLabelInfo
46 data Class
47 data ConFamilySize = SmallConFamily Int | LargeConFamily deriving ()
48 data CoreExpr a b
49 data Id = Local Name Unique UniType | Imported Name UniType (Labda (CoreExpr Id Id)) | DataCon Name Int [TyVar] [(Class, UniType)] [UniType] TyCon deriving ()
50 data Labda a = Just a | Nothing deriving ()
51 data MaybeErr a b = Succeeded a | Failed b deriving ()
52 data Name
53 data PrimitiveKind
54 data QuickString
55 data Subst
56 data TyCon = TyConSynonym Name Unique Int [TyVar] UniType | TyConData Name Unique Int [TyVar] ConFamilySize [Id] | TyConBuiltIn Name Unique Int deriving ()
57 data TyVar
58 data TyVarOrTyCon = IsTyVar TyVar | IsTyCon TyCon [UniType] deriving ()
59 data UniType = UniTyVar TyVar | UniFun UniType UniType | UniData TyCon [UniType] | UniSyn TyCon [UniType] UniType | UniDict Class UniType | UniForall TyVar UniType deriving ()
60 data TypecheckedPat
61 data Expr a b
62 data Matches a b
63 data MonoBinds a b
64 data Binds a b
65 data GRHSs a b
66 data UnifyErrContext = PredCtxt (Expr Id TypecheckedPat) | AppCtxt (Expr Id TypecheckedPat) (Expr Id TypecheckedPat) | OpAppCtxt (Expr Id TypecheckedPat) (Expr Id TypecheckedPat) (Expr Id TypecheckedPat) | SectionLAppCtxt (Expr Id TypecheckedPat) (Expr Id TypecheckedPat) | SectionRAppCtxt (Expr Id TypecheckedPat) (Expr Id TypecheckedPat) | CaseCtxt (Expr Id TypecheckedPat) (Matches Id TypecheckedPat) | BranchCtxt (Expr Id TypecheckedPat) (Expr Id TypecheckedPat) | ListCtxt [Expr Id TypecheckedPat] | ConPatCtxt QuickString [TypecheckedPat] | ConOpPatCtxt TypecheckedPat QuickString TypecheckedPat | ListPatCtxt [TypecheckedPat] | MatchPairCtxt (Matches Id TypecheckedPat) (Matches Id TypecheckedPat) | FilterCtxt (Expr Id TypecheckedPat) | GeneratorCtxt TypecheckedPat (Expr Id TypecheckedPat) | GRHSsBranchCtxt (GRHSs Id TypecheckedPat) (GRHSs Id TypecheckedPat) | GRHSsGuardCtxt (Expr Id TypecheckedPat) | RecCtxt [QuickString] (MonoBinds Id TypecheckedPat) | PatMonoBindsCtxt TypecheckedPat (GRHSs Id TypecheckedPat) (Binds Id TypecheckedPat) | MatchCtxt UniType UniType | ArithSeqCtxt [Expr Id TypecheckedPat] | CCallCtxt QuickString [Expr Id TypecheckedPat] deriving ()
67 data UnifyErrInfo = DataConMisMatch UniType UniType | UniConMisMatch UniType UniType | TypeRec TyVar UniType | UnifyListMisMatch [UniType] [UniType] deriving ()
68 data Unique
69 data UniqueSupply
70 divideDoublePrimId :: Id
71 divideFloatPrimId :: Id
72 divideIntPrimId :: Id
73 divideIntegerPrimId :: Id
74 doublePrim2FloatPrimId :: Id
75 doublePrim2IntPrimId :: Id
76 doublePrimArithOpTy :: UniType
77 doublePrimRelOpTy :: UniType
78 doublePrimTy :: UniType
79 doublePrimTyCon :: TyCon
80 doublePrimTyConU :: Int
81 doublePrimUnaryOpTy :: UniType
82 duplicateLocal :: Id -> Unique -> Id
83 duplicateTyVar :: TyVar -> Unique -> TyVar
84 eRROR_ID :: Id
85 eqCharPrimId :: Id
86 eqDoublePrimId :: Id
87 eqFloatPrimId :: Id
88 eqIntPrimBoolId :: Id
89 eqIntPrimId :: Id
90 eqIntegerPrimId :: Id
91 errorTy :: UniType
92 expandTySyn :: UniType -> UniType
93 extractTyVarsFromTy :: UniType -> [TyVar]
94 extractTyVarsFromTys :: [UniType] -> [TyVar]
95 firstTupleUniqueInt :: Int
96 floatPrim2DoublePrimId :: Id
97 floatPrim2IntPrimId :: Id
98 floatPrimArithOpTy :: UniType
99 floatPrimRelOpTy :: UniType
100 floatPrimTy :: UniType
101 floatPrimTyCon :: TyCon
102 floatPrimTyConU :: Int
103 floatPrimUnaryOpTy :: UniType
104 frcId :: Bool -> Id -> Int
105 frcUniType :: UniType -> Int
106 funResultTy :: UniType -> UniType
107 geCharPrimId :: Id
108 geDoublePrimId :: Id
109 geFloatPrimId :: Id
110 geIntPrimId :: Id
111 geIntegerPrimId :: Id
112 genInstantiateTy :: UniqueSupply -> [(TyVar, UniType)] -> UniType -> (UniqueSupply, UniType)
113 genInstantiateTyUS :: (Env TyVar UniType) -> UniType -> UniqueSupply -> (UniqueSupply, UniType)
114 getClassName :: Class -> Name
115 getClassOps :: Class -> [(QuickString, UniType)]
116 getClassSig :: Class -> (TyVar, [(Class, UniType)], [(QuickString, UniType)])
117 getClassThetaType :: Class -> [(Class, UniType)]
118 getConstructedTyTycon :: UniType -> TyCon
119 getDataConDeps :: Id -> [TyCon]
120 getDataConFamily :: Id -> [Id]
121 getDataConSig :: Id -> ([TyVar], [(Class, UniType)], [UniType], TyCon)
122 getDataConTag :: Id -> Int
123 getDataConTyCon :: Id -> TyCon
124 getDictClass :: Id -> Class
125 getDictClassType :: Id -> (Class, UniType)
126 getDictTyVar :: Id -> TyVar
127 getDictType :: Id -> UniType
128 getIdAnns :: Id -> Annotations
129 getIdBoundTyVars :: Id -> [TyVar]
130 getIdCLabelInfo :: Id -> CLabelInfo
131 getIdKind :: Id -> PrimitiveKind
132 getIdName :: Id -> Name
133 getIdQuickString :: Id -> QuickString
134 getIdSourceTypes :: Id -> [UniType]
135 getIdTargetType :: Id -> UniType
136 getIdTauType :: Id -> UniType
137 getIdUnfolding :: Id -> Labda (CoreExpr Id Id)
138 getIdUniType :: Id -> UniType
139 getLocalUnique :: Id -> Unique
140 getMentionedTyCons :: TyCon -> [TyCon]
141 getQuickStringStr :: QuickString -> [Char]
142 getReferredToTyCons :: UniType -> [TyCon]
143 getTauType :: UniType -> UniType
144 getTyConArity :: TyCon -> Int
145 getTyConDataCons :: TyCon -> [Id]
146 getTyConName :: TyCon -> Name
147 getTyConTyVars :: TyCon -> [TyVar]
148 getTyVar :: UniType -> TyVar
149 getTyVarMaybe :: UniType -> Labda TyVar
150 getUniDataTyCon :: UniType -> TyCon
151 getUnique :: UniqueSupply -> (UniqueSupply, Unique)
152 getUniques :: Int -> UniqueSupply -> (UniqueSupply, [Unique])
153 glueTyArgs :: [UniType] -> UniType -> UniType
154 gtCharPrimId :: Id
155 gtDoublePrimId :: Id
156 gtFloatPrimId :: Id
157 gtIntPrimId :: Id
158 gtIntegerPrimId :: Id
159 iMPOSSIBLE_UNIQUE :: Unique
160 idxStringPrimId :: Id
161 initUS :: a -> (a -> (b, c)) -> (b, c)
162 instance AbsSynParam Id
163 instance AbsSynParam Name
164 instance AbsSynParam QuickString
165 instance Eq CLabelInfo
166 instance Eq Class
167 instance Eq Id
168 instance Eq Name
169 instance Eq PrimitiveKind
170 instance Eq QuickString
171 instance Eq TyCon
172 instance Eq TyVar
173 instance Eq UniType
174 instance Eq Unique
175 instance Ord Id
176 instance Ord Name
177 instance Ord QuickString
178 instance Ord TyCon
179 instance Ord TyVar
180 instance Ord Unique
181 instance Outputable Annotations
182 instance Outputable CLabelInfo
183 instance Outputable Class
184 instance Outputable ConFamilySize
185 instance Outputable Id
186 instance Outputable Name
187 instance Outputable PrimitiveKind
188 instance Outputable QuickString
189 instance Outputable TyCon
190 instance Outputable TyVar
191 instance Outputable UniType
192 instance Outputable Unique
193 instance Text Id
194 instance Text Unique
195 instantiateTauTy :: [(TyVar, UniType)] -> UniType -> UniType
196 instantiateThetaTy :: [(TyVar, UniType)] -> [(Class, UniType)] -> [(Class, UniType)]
197 instantiateTy :: [(TyVar, UniType)] -> UniType -> UniType
198 intPrim2DoublePrimId :: Id
199 intPrim2FloatPrimId :: Id
200 intPrim2IntegerPrimId :: Id
201 intPrimArithOpTy :: UniType
202 intPrimRelOpTy :: UniType
203 intPrimTy :: UniType
204 intPrimTyCon :: TyCon
205 intPrimTyConU :: Int
206 intPrimUnaryOpTy :: UniType
207 integerPrim2IntPrimId :: Id
208 integerPrimArithOpTy :: UniType
209 integerPrimRelOpTy :: UniType
210 integerPrimTy :: UniType
211 integerPrimTyCon :: TyCon
212 integerPrimTyConU :: Int
213 integerPrimUnaryOpTy :: UniType
214 ioPrimTy :: UniType
215 ioPrimTyCon :: TyCon
216 ioPrimTyConU :: Int
217 isAbstractTyConData :: TyCon -> Bool
218 isFunType :: UniType -> Bool
219 isGlobalId :: Id -> Bool
220 isTyConBuiltIn :: TyCon -> Bool
221 isTyConData :: TyCon -> Bool
222 isUnboxedType :: UniType -> Bool
223 kindFromType :: UniType -> PrimitiveKind
224 leCharPrimId :: Id
225 leDoublePrimId :: Id
226 leFloatPrimId :: Id
227 leIntPrimId :: Id
228 leIntegerPrimId :: Id
229 listMaybeErrs :: [MaybeErr a b] -> MaybeErr [a] [b]
230 ltCharPrimId :: Id
231 ltDoublePrimId :: Id
232 ltFloatPrimId :: Id
233 ltIntPrimId :: Id
234 ltIntegerPrimId :: Id
235 matchList :: Subst -> [UniType] -> [UniType] -> MaybeErr Subst UnifyErrInfo
236 matchTys :: Subst -> UniType -> UniType -> MaybeErr Subst UnifyErrInfo
237 minusDoublePrimId :: Id
238 minusFloatPrimId :: Id
239 minusIntPrimId :: Id
240 minusIntegerPrimId :: Id
241 mkClass :: Unique -> Name -> TyVar -> [(Class, UniType)] -> [(QuickString, UniType)] -> Class
242 mkClassBottom :: QuickString -> QuickString -> Annotations -> Class
243 mkDataCon :: Name -> UniType -> Id
244 mkDataTy :: TyCon -> [UniType] -> UniType
245 mkDataTyConBottom :: QuickString -> QuickString -> Annotations -> Int -> TyCon
246 mkDictFunId :: Class -> TyCon -> UniType -> Id
247 mkDictFunType :: [TyVar] -> [(Class, UniType)] -> Class -> UniType -> UniType
248 mkDictTy :: Class -> UniType -> UniType
249 mkForallTy :: [TyVar] -> UniType -> UniType
250 mkImported :: Name -> UniType -> (Labda (CoreExpr Id Id)) -> Id
251 mkInternalDataCon :: Name -> Int -> [TyVar] -> [(Class, UniType)] -> [UniType] -> TyCon -> Id
252 mkLocal :: Name -> Unique -> UniType -> Id
253 mkNamedLocal :: QuickString -> Unique -> UniType -> Annotations -> Id
254 mkQuickString :: [Char] -> QuickString
255 mkRenamedLocal :: Name -> Unique -> UniType -> Id
256 mkSigmaTy :: [TyVar] -> [(Class, UniType)] -> UniType -> UniType
257 mkSynTy :: TyCon -> [UniType] -> UniType -> UniType
258 mkSynTyConBottom :: QuickString -> QuickString -> Annotations -> Int -> TyCon
259 mkSysLocal :: [Char] -> Unique -> UniType -> Annotations -> Id
260 mkSysTyVar :: Unique -> TyVar
261 mkTUPLE_ID :: Int -> Id
262 mkTemplateLocals :: [UniType] -> [Id]
263 mkTupleTy :: [UniType] -> UniType
264 mkTupleTyCon :: Int -> TyCon
265 mkTupleTyConAndId :: Int -> (TyCon, Id)
266 mkTyConBuiltIn :: Name -> Unique -> Int -> TyCon
267 mkTyConData :: Name -> Unique -> Int -> [TyVar] -> Int -> [Id] -> TyCon
268 mkTyConSynonym :: Name -> Unique -> Int -> [TyVar] -> UniType -> TyCon
269 mkTyVarTy :: TyVar -> UniType
270 mkUnique :: Int -> Unique
271 mkUniqueSupply :: Int -> UniqueSupply
272 mkUserTyVar :: Unique -> QuickString -> TyVar
273 nanoCoreGVE :: GVE
274 nanoCoreTCE :: TCE
275 neCharPrimId :: Id
276 neDoublePrimId :: Id
277 neFloatPrimId :: Id
278 neIntPrimId :: Id
279 neIntegerPrimId :: Id
280 negateDoublePrimId :: Id
281 negateFloatPrimId :: Id
282 negateIntPrimId :: Id
283 negateIntegerPrimId :: Id
284 noFail :: (Labda a) -> [Char] -> a
285 ordPrimId :: Id
286 pRELUDE :: [Char]
287 pRELUDE_BUILTIN :: [Char]
288 pRELUDE_BUILTIN_Char :: ([Char], [Char])
289 pRELUDE_BUILTIN_Double :: ([Char], [Char])
290 pRELUDE_BUILTIN_Float :: ([Char], [Char])
291 pRELUDE_BUILTIN_Int :: ([Char], [Char])
292 pRELUDE_BUILTIN_Integer :: ([Char], [Char])
293 pRELUDE_BUILTIN_List :: ([Char], [Char])
294 pRELUDE_BUILTIN_Tuple0 :: ([Char], [Char])
295 pRELUDE_BUILTIN_Tuple2 :: ([Char], [Char])
296 pRELUDE_CORE :: [Char]
297 pRELUDE_CORE_Bool :: ([Char], [Char])
298 pRELUDE_CORE_Enum :: ([Char], [Char])
299 pRELUDE_CORE_Eq :: ([Char], [Char])
300 pRELUDE_CORE_Fractional :: ([Char], [Char])
301 pRELUDE_CORE_Integral :: ([Char], [Char])
302 pRELUDE_CORE_Num :: ([Char], [Char])
303 pRELUDE_CORE_Ord :: ([Char], [Char])
304 pRELUDE_CORE_Real :: ([Char], [Char])
305 pRELUDE_RATIO :: [Char]
306 pRELUDE_RATIO_Ratio :: ([Char], [Char])
307 pRELUDE_TEXT :: [Char]
308 pRELUDE_TEXT_Text :: ([Char], [Char])
309 packStringPrimId :: Id
310 pcAnns :: Annotations
311 pcBasicArithBinOp :: [Char] -> UniType -> Id -> Id -> Id
312 pcBasicArithUnaryOp :: [Char] -> UniType -> Id -> Id -> Id
313 pcBasicRelBinOp :: [Char] -> UniType -> Id -> Id -> Id
314 pcBasicRelBinOpInnerCase :: Id -> Id -> Id -> CoreExpr Id Id
315 pcBuiltinTyCon :: Int -> [Char] -> [Char] -> Int -> TyCon
316 pcDataCon :: [Char] -> [Char] -> UniType -> Id
317 pcDataTyCon :: Int -> [Char] -> [Char] -> Int -> [TyVar] -> [Id] -> TyCon
318 pcDictFunName :: ([Char], [Char]) -> ([Char], [Char]) -> Name
319 pcDictSelectorName :: [Char] -> [Char] -> Name
320 pcExternalName :: [Char] -> [Char] -> Name
321 pcGlobal :: [Char] -> [Char] -> UniType -> Id
322 pcInstance :: ([Char], [Char]) -> ([Char], [Char]) -> UniType -> Id
323 pcMethod :: Name -> [Char] -> UniType -> Id
324 pcPrim :: [Char] -> UniType -> PrimitiveOp -> Id
325 pcPrimPredicate :: [Char] -> UniType -> Id -> Id
326 plusDoublePrimId :: Id
327 plusFloatPrimId :: Id
328 plusIntPrimId :: Id
329 plusIntegerPrimId :: Id
330 pprParendUniType :: PprStyle -> UniType -> Int -> Bool -> PrettyRep
331 pprUniType :: PprStyle -> UniType -> Int -> Bool -> PrettyRep
332 remIntPrimId :: Id
333 remIntegerPrimId :: Id
334 removeTyConDataCons :: TyCon -> TyCon
335 returnUS :: a -> UniqueSupply -> (UniqueSupply, a)
336 sourceTypes :: UniType -> [UniType]
337 splitMultiType :: UniType -> ([[TyVar]], [[(Class, UniType)]], UniType)
338 splitThetaType :: UniType -> (Class, UniType)
339 splitTyArgs :: UniType -> ([UniType], UniType)
340 splitType :: UniType -> ([TyVar], [(Class, UniType)], UniType)
341 stringPrimTy :: UniType
342 stringPrimTyCon :: TyCon
343 stringPrimTyConU :: Int
344 targetType :: UniType -> UniType
345 thenUS :: (UniqueSupply -> (UniqueSupply, a)) -> (a -> UniqueSupply -> (UniqueSupply, b)) -> UniqueSupply -> (UniqueSupply, b)
346 thenUSs :: [UniqueSupply -> (UniqueSupply, a)] -> UniqueSupply -> (UniqueSupply, [a])
347 timesDoublePrimId :: Id
348 timesFloatPrimId :: Id
349 timesIntPrimId :: Id
350 timesIntegerPrimId :: Id
351 tuple0TyCon :: TyCon
352 tuple2TyCon :: TyCon
353 tyVarOrTyCon :: UniType -> TyVarOrTyCon
354 type Arity = Int
355 type ClassName = QuickString
356 type ClassOp = (QuickString, UniType)
357 type ClassOps = [(QuickString, UniType)]
358 type ConName = QuickString
359 type ConTag = Int
360 type DictFun = Id
361 type DictVar = Id
362 type ModuleName = QuickString
363 type RhoType = UniType
364 type SigmaType = UniType
365 type TauType = UniType
366 type ThetaType = [(Class, UniType)]
367 type TyConName = QuickString
368 type TyVarName = QuickString
369 type USap a = UniqueSupply -> (UniqueSupply, a)
370 type VarName = QuickString
371 typeWithOneDataCon :: UniType -> Bool
372 uniformSCCs :: [[TyCon]] -> [Bool]
373 unifyList :: Subst -> [UniType] -> [UniType] -> MaybeErr Subst UnifyErrInfo
374 unifyTys :: Subst -> UniType -> UniType -> MaybeErr Subst UnifyErrInfo
375 verifyTauTy :: UniType -> UniType
376 zeroTy :: UniType
377 zeroTyCon :: TyCon
378 zeroTyConU :: Int