summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2014-01-20 15:16:06 +0000
committerJoachim Breitner <mail@joachim-breitner.de>2014-01-20 15:16:06 +0000
commit59cb44a3ee4b25fce6dc19816e9647e92e5ff743 (patch)
tree3f9b48ff258b8757376f2cc26a9ad41730e75e6e /compiler
parentda66a8dff05f656cb379edf61827af426e1b05e7 (diff)
downloadhaskell-59cb44a3ee4b25fce6dc19816e9647e92e5ff743.tar.gz
Explain why TcAxiomInstCo carries [TcCoercion], and not [TcType]
Diffstat (limited to 'compiler')
-rw-r--r--compiler/typecheck/TcEvidence.lhs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/typecheck/TcEvidence.lhs b/compiler/typecheck/TcEvidence.lhs
index 42ca03c92b..3471b327fa 100644
--- a/compiler/typecheck/TcEvidence.lhs
+++ b/compiler/typecheck/TcEvidence.lhs
@@ -90,6 +90,12 @@ differences
- TcSubCo is not applied as deep as done with mkSubCo
Reason: they'll get established when we desugar to Coercion
+ * TcAxiomInstCo has a [TcCoercion] parameter, and not a [Type] parameter.
+ This differs from the formalism, but corresponds to AxiomInstCo (see
+ [Coercion axioms applied to coercions]).
+ Why can't we use [TcType] here, in code not relevant for the simplifier?
+ Because of coercionToTcCoercion.
+
\begin{code}
data TcCoercion
= TcRefl Role TcType