From fdf8656855d26105ff36bdd24d41827b05037b91 Mon Sep 17 00:00:00 2001 From: Simon Peyton Jones Date: Tue, 19 Apr 2011 11:06:20 +0100 Subject: This BIG PATCH contains most of the work for the New Coercion Representation See the paper "Practical aspects of evidence based compilation in System FC" * Coercion becomes a data type, distinct from Type * Coercions become value-level things, rather than type-level things, (although the value is zero bits wide, like the State token) A consequence is that a coerion abstraction increases the arity by 1 (just like a dictionary abstraction) * There is a new constructor in CoreExpr, namely Coercion, to inject coercions into terms --- compiler/parser/ParserCore.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/parser') diff --git a/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y index 8bf94539fa..3f2b32a8b3 100644 --- a/compiler/parser/ParserCore.y +++ b/compiler/parser/ParserCore.y @@ -269,7 +269,7 @@ exp :: { IfaceExpr } | '%let' let_bind '%in' exp { IfaceLet $2 $4 } -- gaw 2004 | '%case' '(' ty ')' aexp '%of' id_bndr - '{' alts1 '}' { IfaceCase $5 (fst $7) $3 $9 } + '{' alts1 '}' { IfaceCase $5 (fst $7) $9 } | '%cast' aexp aty { IfaceCast $2 $3 } -- No InlineMe any more -- | '%note' STRING exp -- cgit v1.2.1