summaryrefslogtreecommitdiff
path: root/docs/core-spec
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2016-12-02 18:13:03 -0500
committerJoachim Breitner <mail@joachim-breitner.de>2016-12-02 18:13:03 -0500
commit90c5af4778c8ed1c33991c4f28bbbe8958f1e60f (patch)
treee10476c1f7aef5938087390b7f6b9b2bfbe39632 /docs/core-spec
parenteb6f6730d2e80ba3b0c7468c11fd2c838e56a417 (diff)
downloadhaskell-90c5af4778c8ed1c33991c4f28bbbe8958f1e60f.tar.gz
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.
Diffstat (limited to 'docs/core-spec')
-rw-r--r--docs/core-spec/OpSem.ott3
-rw-r--r--docs/core-spec/core-spec.pdfbin348408 -> 348416 bytes
2 files changed, 2 insertions, 1 deletions
diff --git a/docs/core-spec/OpSem.ott b/docs/core-spec/OpSem.ott
index db8ce1cf5e..b833b7487b 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 ac548f63c1..a06ffd07df 100644
--- a/docs/core-spec/core-spec.pdf
+++ b/docs/core-spec/core-spec.pdf
Binary files differ