import IdInfo
import SpecEnv ( SpecEnv )
import HsCore ( UfExpr )
-import HsBasic ( Fixity )
-import TyCon ( NewOrData(..) ) -- Just a boolean flag really
+import BasicTypes ( Fixity, NewOrData(..) )
-- others:
-import Name --( getOccName, OccName )
+import Name ( getOccName, OccName, NamedThing(..) )
import Outputable ( interppSP, interpp'SP,
- Outputable(..){-instance * []-}
+ PprStyle(..), Outputable(..){-instance * []-}
)
import Pretty
import SrcLoc ( SrcLoc )
-import PprStyle ( PprStyle(..) )
import Util
\end{code}
data HsIdInfo name
= HsArity ArityInfo
- | HsStrictness (StrictnessInfo name)
- | HsUnfold (UfExpr name)
+ | HsStrictness (HsStrictnessInfo name)
+ | HsUnfold Bool (UfExpr name) -- True <=> INLINE pragma
| HsUpdate UpdateInfo
- | HsDeforest DeforestInfo
| HsArgUsage ArgUsageInfo
| HsFBType FBTypeInfo
-- ToDo: specialisations
+
+data HsStrictnessInfo name
+ = HsStrictnessInfo [Demand]
+ (Maybe (name, [name])) -- Worker, if any
+ -- and needed constructors
+ | HsBottom
\end{code}