X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FhsSyn%2FHsBinds.lhs;h=1d7bc2fa9b73c6bb2a8c3673c38d6e7c957eee5e;hb=d914b83e6b1baafc8d830eff1aedbe55d25d84cc;hp=6c2f8f3928f021caf7aca79e7e66f89a3cab5c01;hpb=490791568ac1b31fed0d049892e0853c774aa375;p=ghc-hetmet.git diff --git a/compiler/hsSyn/HsBinds.lhs b/compiler/hsSyn/HsBinds.lhs index 6c2f8f3..1d7bc2f 100644 --- a/compiler/hsSyn/HsBinds.lhs +++ b/compiler/hsSyn/HsBinds.lhs @@ -52,7 +52,9 @@ data HsValBinds id -- Value bindings (not implicit parameters) -- Recursive by default | ValBindsOut -- After renaming - [(RecFlag, LHsBinds id)] -- Dependency analysed + [(RecFlag, LHsBinds id)] -- Dependency analysed, later bindings + -- in the list may depend on earlier + -- ones. [LSig Name] type LHsBinds id = Bag (LHsBind id) @@ -93,7 +95,7 @@ data HsBind id -- Before renaming, and after typechecking, -- the field is unused; it's just an error thunk - fun_tick :: Maybe Int -- This is the (optional) module-local tick number. + fun_tick :: Maybe (Int,[id]) -- This is the (optional) module-local tick number. } | PatBind { -- The pattern is never a simple variable; @@ -317,10 +319,10 @@ data HsWrapper | WpCo Coercion -- A cast: [] `cast` co -- Guaranteedn not the identity coercion - | WpApp Var -- [] x; the xi are dicts or coercions - | WpTyApp Type -- [] t - | WpLam Id -- \x. []; the xi are dicts or coercions - | WpTyLam TyVar -- \a. [] + | WpApp Var -- [] d the 'd' is a type-class dictionary + | WpTyApp Type -- [] t the 't' is a type or corecion + | WpLam Id -- \d. [] the 'd' is a type-class dictionary + | WpTyLam TyVar -- \a. [] the 'a' is a type or coercion variable -- Non-empty bindings, so that the identity coercion -- is always exactly WpHole