| full-sessions-0.4.189: yet another implementation of session types which does not require annotations | Source code | Contents | Index |
|
Control.Concurrent.FullSession.Types |
|
|
|
Synopsis |
|
|
|
Documentation |
|
|
capability -- from the implementation of Pucella and Tov
ex.
Cap Nil (Rec (Send Int (Var Z)))
== Cap (Send Int (Var Z):|:Nil) (Send Int (Var Z)) -- (by enter operation)
Cap (Send Int (Var Z):|:Nil) (Var Z)
== Cap (Send Int (Var Z):|:Nil) (Send Int (Var Z)) -- (by zero operation)
| Instances | Comp c (Cap Nil End) c | Comp (Cap Nil End) c c | (TCast v v', TCast e e', TCast e' Nil) => Comp (Cap e (Var v)) (Cap e' (Var v')) (Cap e'' Bot) | (Comp2 r r', TCast e e', TCast e' Nil) => Comp (Cap e (Rec r)) (Cap e' (Rec r')) (Cap e'' Bot) | (Comp2 u u', Comp2 v v', TCast e e', TCast e' e'', TCast e' Nil) => Comp (Cap e (Offer u v)) (Cap e' (Select u' v')) (Cap e'' Bot) | (Comp2 u u', Comp2 v v', TCast e e', TCast e' e'', TCast e' Nil) => Comp (Cap e (Select u v)) (Cap e' (Offer u' v')) (Cap e'' Bot) | (Comp2 u u', TCast v v', TCast e e', TCast e' e'', TCast e' Nil) => Comp (Cap e (Catch v u)) (Cap e' (Throw v' u')) (Cap e'' Bot) | (Comp2 u u', TCast v v', TCast e e', TCast e' e'', TCast e' Nil) => Comp (Cap e (Throw v u)) (Cap e' (Catch v' u')) (Cap e'' Bot) | (Comp2 u u', TCast t t', TCast e e', TCast e' e'', TCast e' Nil) => Comp (Cap e (Recv t' u')) (Cap e' (Send t u)) (Cap e'' Bot) | (Comp2 u u', TCast t t', TCast e e', TCast e' e'', TCast e' Nil) => Comp (Cap e (Send t u)) (Cap e' (Recv t' u')) (Cap e'' Bot) | Comp (Cap Nil End) (Cap Nil End) (Cap Nil End) |
|
|
|
|
no operation
| Instances | |
|
|
|
send a value of type v then u
| Instances | |
|
|
|
receive a value of type v then u
| Instances | |
|
|
|
send a channel of session type u' then u
| Instances | |
|
|
|
receive a channel of session type u' then u
| Instances | |
|
|
|
recursion binding
| Instances | |
|
|
|
recursion variable
| Instances | |
|
|
|
this channel is (or, will be) owned by maximum two processes
|
|
|
|
send a label i then ui (i in {1,2})
| Instances | |
|
|
|
receive a label i then ui (i in {1,2})
| Instances | |
|
|
Produced by Haddock version 2.4.2 |