@@ -767,27 +767,27 @@ This abbreviation will be formalised with an auxiliary function or other means i
767
767
768
768
- ` cont.new <typeidx> `
769
769
- Create a new continuation from a given typed funcref.
770
- - ` cont.new $ct : [(ref null? $ft)] -> [(ref $ct)] `
770
+ - ` cont.new $ct : [(ref null $ft)] -> [(ref $ct)] `
771
771
- iff ` C.types[$ct] ~~ cont [t1*] -> [t2*] `
772
772
773
773
- ` cont.bind <typeidx> <typeidx> `
774
774
- Partially apply a continuation.
775
- - ` cont.bind $ct $ct' : [t3* (ref null? $ct)] -> [(ref $ct')] `
775
+ - ` cont.bind $ct $ct' : [t3* (ref null $ct)] -> [(ref $ct')] `
776
776
- iff ` C.types[$ct] ~~ cont [t3* t1*] -> [t2*] `
777
777
- and ` C.types[$ct'] ~~ cont [t1'*] -> [t2'*] `
778
778
- and ` [t1*] -> [t2*] <: [t1'*] -> [t2'*] `
779
779
780
780
- ` resume <typeidx> hdl* `
781
781
- Execute a given continuation.
782
782
- If the executed continuation suspends with a control tag ` $t ` , the corresponding handler ` (on $t H) ` is executed.
783
- - ` resume $ct hdl* : [t1* (ref null? $ct)] -> [t2*] `
783
+ - ` resume $ct hdl* : [t1* (ref null $ct)] -> [t2*] `
784
784
- iff ` C.types[$ct] ~~ cont [t1*] -> [t2*] `
785
785
- and ` (hdl : t2*)* `
786
786
787
787
- ` resume_throw <typeidx> <exnidx> hdl* `
788
788
- Execute a given continuation, but force it to immediately throw the annotated exception.
789
789
- Used to abort a continuation.
790
- - ` resume_throw $ct $e hdl* : [te* (ref null? $ct)] -> [t2*] `
790
+ - ` resume_throw $ct $e hdl* : [te* (ref null $ct)] -> [t2*] `
791
791
- iff ` C.types[$ct] ~~ cont [t1*] -> [t2*] `
792
792
- and ` C.tags[$e] : tag $ft `
793
793
- and ` C.types[$ft] ~~ func [te*] -> [] `
@@ -815,7 +815,7 @@ This abbreviation will be formalised with an auxiliary function or other means i
815
815
- ` switch <typeidx> <tagidx> `
816
816
- Switch to executing a given continuation directly, suspending the current execution.
817
817
- The suspension and switch are performed from the perspective of a parent ` (on $e switch) ` handler, determined by the annotated control tag.
818
- - ` switch $ct1 $e : [t1* (ref null? $ct1)] -> [t2*] `
818
+ - ` switch $ct1 $e : [t1* (ref null $ct1)] -> [t2*] `
819
819
- iff ` C.tags[$e] = tag $ft `
820
820
- and ` C.types[$ft] ~~ func [] -> [t*] `
821
821
- and ` C.types[$ct1] ~~ cont [t1* (ref null? $ct2)] -> [te1*] `
0 commit comments