module HsCore (
UfExpr(..), UfAlt, UfBinder(..), UfNote(..),
UfBinding(..), UfConAlt(..),
- HsIdInfo(..), pprHsIdInfo,
-
+ HsIdInfo(..), pprHsIdInfo,
+
eq_ufExpr, eq_ufBinders, pprUfExpr, pprHsIdInfo,
toUfExpr, toUfBndr, ufBinderName
import Id ( idArity, idType, isDataConId_maybe, isFCallId_maybe )
import Var ( varType, isId )
import IdInfo ( InlinePragInfo )
-import Name ( Name, NamedThing(..), getName, toRdrName )
+import Name ( Name, NamedThing(..), toRdrName )
import RdrName ( RdrName, rdrNameOcc )
import OccName ( isTvOcc )
import CoreSyn
import BasicTypes ( Arity )
import FiniteMap ( lookupFM )
import CostCentre
-import Util ( eqListBy )
+import Util ( eqListBy, lengthIs )
import Outputable
+import FastString
\end{code}
%************************************************************************
| UfLet (UfBinding name) (UfExpr name)
| UfNote (UfNote name) (UfExpr name)
| UfLit Literal
- | UfLitLit FAST_STRING (HsType name)
+ | UfLitLit FastString (HsType name)
| UfFCall ForeignCall (HsType name)
data UfNote name = UfSCC CostCentre
| UfDataAlt name
| UfTupleAlt (HsTupCon name)
| UfLitAlt Literal
- | UfLitLitAlt FAST_STRING (HsType name)
+ | UfLitLitAlt FastString (HsType name)
data UfBinding name
= UfNonRec (UfBinder name)
-> UfTuple (mk_hs_tup_con tc dc) tup_args
where
val_args = dropWhile isTypeArg as
- saturated = length val_args == idArity v
+ saturated = val_args `lengthIs` idArity v
tup_args = map toUfExpr val_args
tc = dataConTyCon dc
;