[commit: ghc] master: core-spec: Fix S_MatchData (90c5af4)
git at git.haskell.org
git at git.haskell.org
Fri Dec 2 23:14:20 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/90c5af4778c8ed1c33991c4f28bbbe8958f1e60f/ghc
>---------------------------------------------------------------
commit 90c5af4778c8ed1c33991c4f28bbbe8958f1e60f
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Fri Dec 2 18:13:03 2016 -0500
core-spec: Fix S_MatchData
Previously, it would substitute e for n without an e being around.
I clarify that by naming the scrutinee e.
>---------------------------------------------------------------
90c5af4778c8ed1c33991c4f28bbbe8958f1e60f
docs/core-spec/OpSem.ott | 3 ++-
docs/core-spec/core-spec.pdf | Bin 348408 -> 348416 bytes
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/core-spec/OpSem.ott b/docs/core-spec/OpSem.ott
index db8ce1c..b833b74 100644
--- a/docs/core-spec/OpSem.ott
+++ b/docs/core-spec/OpSem.ott
@@ -66,9 +66,10 @@ S |- e --> e'
S |- case e as n return t of </ alti // i /> --> case e' as n return t of </ alti // i />
altj = K </ alphabb_kbb // bb /> </ xcc_tcc // cc /> -> u
+e = K </ t'aa // aa /> </ sbb // bb /> </ ecc // cc />
u' = u[n |-> e] </ [alphabb_kbb |-> sbb] // bb /> </ [xcc_tcc |-> ecc] // cc />
-------------------------------------------------------------- :: MatchData
-S |- case K </ t'aa // aa /> </ sbb // bb /> </ ecc // cc /> as n return t of </ alti // i /> --> u'
+S |- case e as n return t of </ alti // i /> --> u'
altj = lit -> u
---------------------------------------------------------------- :: MatchLit
diff --git a/docs/core-spec/core-spec.pdf b/docs/core-spec/core-spec.pdf
index ac548f6..a06ffd0 100644
Binary files a/docs/core-spec/core-spec.pdf and b/docs/core-spec/core-spec.pdf differ
More information about the ghc-commits
mailing list