X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FhsSyn%2FHsBinds.lhs;fp=ghc%2Fcompiler%2FhsSyn%2FHsBinds.lhs;h=69b75b428c853b4a43580a646ff0ff04ba8b7221;hb=5d3051c66796dcf884b052f9e4afc3ed19b9f514;hp=23208f078e347352892287b40eeeec45555a07f7;hpb=7985849b10db59b566d1864075b97b5d11d3a31d;p=ghc-hetmet.git diff --git a/ghc/compiler/hsSyn/HsBinds.lhs b/ghc/compiler/hsSyn/HsBinds.lhs index 23208f0..69b75b4 100644 --- a/ghc/compiler/hsSyn/HsBinds.lhs +++ b/ghc/compiler/hsSyn/HsBinds.lhs @@ -58,12 +58,13 @@ type LHsBind id = Located (HsBind id) data HsBind id = FunBind { -- FunBind is used for both functions f x = e -- and variables f = \x -> e - -- Reason: the Match stuff lets us have an optional - -- result type sig f :: a->a = ...mentions a... - -- - -- This also means that instance decls can only have - -- FunBinds, so if you change this, you'll need to - -- change e.g. rnMethodBinds +-- Reason 1: the Match stuff lets us have an optional +-- result type sig f :: a->a = ...mentions a... +-- +-- Reason 2: Special case for type inference: see TcBinds.tcMonoBinds +-- +-- Reason 3: instance decls can only have FunBinds, which is convenient +-- If you change this, you'll need tochange e.g. rnMethodBinds fun_id :: Located id,