From: simonpj Date: Mon, 19 Dec 2005 09:32:33 +0000 (+0000) Subject: [project @ 2005-12-19 09:32:33 by simonpj] X-Git-Tag: final_switch_to_darcs,_this_repo_is_now_live~83 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=0e0b98409b23dd84ef11aea611b104d8e20abae3 [project @ 2005-12-19 09:32:33 by simonpj] ** Wibble to Friday's commit (fixes HEAD build) ** ----------------------------------------- Make deriving work for infix constructors ----------------------------------------- Merge to stable branch Back quotes were not being done correctly in deriving Read and Show. Now they are. I think. Test is drvrun018 --- diff --git a/ghc/compiler/typecheck/TcGenDeriv.lhs b/ghc/compiler/typecheck/TcGenDeriv.lhs index 19c8da8..faa32ec 100644 --- a/ghc/compiler/typecheck/TcGenDeriv.lhs +++ b/ghc/compiler/typecheck/TcGenDeriv.lhs @@ -54,7 +54,6 @@ import TysWiredIn ( charDataCon, intDataCon, floatDataCon, doubleDataCon, intDataCon_RDR, true_RDR, false_RDR ) import Util ( zipWithEqual, isSingleton, zipWith3Equal, nOfThem, zipEqual ) -import Char ( isAlpha ) import Constants import List ( partition, intersperse ) import Outputable @@ -776,9 +775,9 @@ gen_Read_binds get_fixity tycon infix_stmts -- a %% b, or a `T` b = [read_a1] - ++ if isSym con_str - then [bindLex (symbol_pat con_str)] - else [read_punc "`", bindLex (ident_pat con_str), read_punc "`"] + ++ (if isSym con_str + then [bindLex (symbol_pat con_str)] + else [read_punc "`", bindLex (ident_pat con_str), read_punc "`"]) ++ [read_a2] lbl_stmts -- T { f1 = a, f2 = b }