** 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
intDataCon_RDR, true_RDR, false_RDR )
import Util ( zipWithEqual, isSingleton,
zipWith3Equal, nOfThem, zipEqual )
intDataCon_RDR, true_RDR, false_RDR )
import Util ( zipWithEqual, isSingleton,
zipWith3Equal, nOfThem, zipEqual )
import Constants
import List ( partition, intersperse )
import Outputable
import Constants
import List ( partition, intersperse )
import Outputable
infix_stmts -- a %% b, or a `T` b
= [read_a1]
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 }
++ [read_a2]
lbl_stmts -- T { f1 = a, f2 = b }