import Kind ( mkBoxedTypeKind, isBoxedTypeKind )
import Id ( idType, isDefaultMethodId_maybe, toplevelishId,
isSuperDictSelId_maybe, isBottomingId,
- isConstMethodId_maybe, isDataCon,
+ isDataCon,
isImportedId, mkIdWithNewUniq,
dataConTyCon, applyTypeEnvToId,
nullIdEnv, addOneToIdEnv, growIdEnvList,
import TysWiredIn ( stringTy )
import Unique ( integerTyConKey, ratioTyConKey, Unique{-instance Eq-} )
import UniqSupply -- all of it, really
-import Util ( zipLazy, panic, assertPanic{-, pprTrace ToDo:rm-} )
+import Util ( zipLazy, panic, assertPanic, pprTrace {-TEMP-} )
+import Pretty
+import Outputable
isLeakFreeType x y = False -- safe option; ToDo
\end{code}
coreExprToStg env non_var_fun
other -> -- A non-variable applied to things; better let-bind it.
--- pprTrace "coreExprToStg" (ppr PprDebug expr) $
newStgVar (coreExprType fun) `thenUs` \ fun_id ->
coreExprToStg env fun `thenUs` \ (stg_fun) ->
let
\end{code}
\begin{code}
-absValFromStrictness :: AnalysisKind -> StrictnessInfo bdee -> AbsVal
+absValFromStrictness :: AnalysisKind -> StrictnessInfo -> AbsVal
absValFromStrictness anal NoStrictnessInfo = AbsTop
= case (collectBinders body) of
(_, _, [], rhs) -> binder
(_, _, lambda_bounds, rhs) -> binder `addIdStrictness`
- mkStrictnessInfo strictness Nothing
+ mkStrictnessInfo strictness False
where
tys = map idType lambda_bounds
strictness = findStrictness tys str_val abs_val