[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