projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2001-03-14 15:21:25 by simonpj]
[ghc-hetmet.git]
/
ghc
/
compiler
/
hsSyn
/
HsCore.lhs
diff --git
a/ghc/compiler/hsSyn/HsCore.lhs
b/ghc/compiler/hsSyn/HsCore.lhs
index
23d4d01
..
996c4e8
100644
(file)
--- a/
ghc/compiler/hsSyn/HsCore.lhs
+++ b/
ghc/compiler/hsSyn/HsCore.lhs
@@
-33,9
+33,7
@@
import HsTypes ( HsType, pprParendHsType, pprHsTyVarBndr, toHsType,
-- others:
import Id ( idArity, idType, isDataConId_maybe, isPrimOpId_maybe )
import Var ( varType, isId )
-- others:
import Id ( idArity, idType, isDataConId_maybe, isPrimOpId_maybe )
import Var ( varType, isId )
-import IdInfo ( ArityInfo, InlinePragInfo,
- pprInlinePragInfo, ppArityInfo, ppStrictnessInfo
- )
+import IdInfo ( InlinePragInfo, pprInlinePragInfo, ppStrictnessInfo )
import Name ( Name, NamedThing(..), getName, toRdrName )
import RdrName ( RdrName, rdrNameOcc )
import OccName ( isTvOcc )
import Name ( Name, NamedThing(..), getName, toRdrName )
import RdrName ( RdrName, rdrNameOcc )
import OccName ( isTvOcc )
@@
-48,6
+46,7
@@
import PrimOp ( CCall, pprCCallOp )
import DataCon ( dataConTyCon, dataConSourceArity )
import TyCon ( isTupleTyCon, tupleTyConBoxity )
import Type ( Kind )
import DataCon ( dataConTyCon, dataConSourceArity )
import TyCon ( isTupleTyCon, tupleTyConBoxity )
import Type ( Kind )
+import BasicTypes ( Arity )
import FiniteMap ( lookupFM )
import CostCentre
import Outputable
import FiniteMap ( lookupFM )
import CostCentre
import Outputable
@@
-379,21
+378,22
@@
pprHsIdInfo [] = empty
pprHsIdInfo info = ptext SLIT("{-##") <+> hsep (map ppr_hs_info info) <+> ptext SLIT("##-}")
data HsIdInfo name
pprHsIdInfo info = ptext SLIT("{-##") <+> hsep (map ppr_hs_info info) <+> ptext SLIT("##-}")
data HsIdInfo name
- = HsArity ArityInfo
+ = HsArity Arity
| HsStrictness StrictnessInfo
| HsUnfold InlinePragInfo (UfExpr name)
| HsNoCafRefs
| HsCprInfo
| HsStrictness StrictnessInfo
| HsUnfold InlinePragInfo (UfExpr name)
| HsNoCafRefs
| HsCprInfo
- | HsWorker name -- Worker, if any
+ | HsWorker name Arity -- Worker, if any see IdInfo.WorkerInfo
+ -- for why we want arity here.
deriving( Eq )
-- NB: Specialisations and rules come in separately and are
-- only later attached to the Id. Partial reason: some are orphans.
ppr_hs_info (HsUnfold prag unf) = ptext SLIT("__U") <> pprInlinePragInfo prag <+> parens (pprUfExpr noParens unf)
deriving( Eq )
-- NB: Specialisations and rules come in separately and are
-- only later attached to the Id. Partial reason: some are orphans.
ppr_hs_info (HsUnfold prag unf) = ptext SLIT("__U") <> pprInlinePragInfo prag <+> parens (pprUfExpr noParens unf)
-ppr_hs_info (HsArity arity) = ppArityInfo arity
+ppr_hs_info (HsArity arity) = ptext SLIT("__A") <+> int arity
ppr_hs_info (HsStrictness str) = ptext SLIT("__S") <+> ppStrictnessInfo str
ppr_hs_info HsNoCafRefs = ptext SLIT("__C")
ppr_hs_info HsCprInfo = ptext SLIT("__M")
ppr_hs_info (HsStrictness str) = ptext SLIT("__S") <+> ppStrictnessInfo str
ppr_hs_info HsNoCafRefs = ptext SLIT("__C")
ppr_hs_info HsCprInfo = ptext SLIT("__M")
-ppr_hs_info (HsWorker w) = ptext SLIT("__P") <+> ppr w
+ppr_hs_info (HsWorker w a) = ptext SLIT("__P") <+> ppr w <+> int a
\end{code}
\end{code}