Skip to content
This repository was archived by the owner on Apr 25, 2025. It is now read-only.

Commit 93a8d66

Browse files
authored
Add prose for typing rule of CAUGHTadm (#229)
Fixes related .. todo:: section. Also slightly adjusted notation to match the one in the [formal overview document](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions-formal-overview.md).
1 parent 1112738 commit 93a8d66

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

document/core/appendix/properties.rst

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -646,14 +646,25 @@ To that end, all previous typing judgements :math:`C \vdash \X{prop}` are genera
646646
:math:`\CAUGHTadm\{\tagaddr~\val^\ast\}~\instr^\ast~\END`
647647
.........................................................
648648

649-
.. todo::
650-
Add prose.
649+
* The :ref:`external tag value <syntax-externval>` :math:`\EVTAG~\tagaddr` must be :ref:`valid <valid-externval-tag>` with some :ref:`external tag type <syntax-externtype>` :math:`\ETTAG~[t_0^\ast] \to []`.
650+
651+
* The :ref:`values <syntax-val>` :math:`\val^\ast` must be of type :math:`[t_0^\ast]`.
652+
653+
* Let :math:`C'` be the same :ref:`context <context>` as :math:`C`, but with the label :math:`(\LCATCH~[t^\ast])` prepended to the |CLABELS| vector.
654+
655+
* Under context :math:`C'`,
656+
the instruction sequence :math:`\instr^\ast` must be :ref:`valid <valid-instr-seq>` with type :math:`[] \to [t^\ast]`.
657+
658+
* Let :math:`C''` be the same :ref:`context <context>` as :math:`C`, but with the label :math:`[t^\ast]` prepended to the |CLABELS| vector.
659+
660+
* Then the compound instruction is valid under context :math:`C''` with type :math:`[] \to [t^\ast]`.
661+
651662

652663
.. math::
653664
\frac{
654-
S \vdashexternval \EVTAG~\tagaddr : \ETTAG~[t'^\ast]\to[]
665+
S \vdashexternval \EVTAG~\tagaddr : \ETTAG~[t_0^\ast]\to[]
655666
\qquad
656-
(val : t')^\ast
667+
(val : t_0)^\ast
657668
\qquad
658669
S; C,\CLABELS\,(\LCATCH~[t^\ast]) \vdashinstrseq \instr^\ast : [] \to [t^\ast]
659670
}{

0 commit comments

Comments
 (0)