283
edits
KalmanKeri (talk | contribs) |
KalmanKeri (talk | contribs) |
||
Line 168: | Line 168: | ||
Given a set of distinct atoms <math>{ a_1,...a_n }</math> and process terms <math>s_1,...s_n, t_1,...t_n</math>, all subterms of <math>a_1^+ . s_1 \mid ... \mid a_n^+ . s_n \mid a_1^- . t_1 \mid ... \mid a_n^- . t_n</math> are ''exclusive'' choices, since all possible interaction with another process leaves at most one active branch. | Given a set of distinct atoms <math>{ a_1,...a_n }</math> and process terms <math>s_1,...s_n, t_1,...t_n</math>, all subterms of <math>a_1^+ . s_1 \mid ... \mid a_n^+ . s_n \mid a_1^- . t_1 \mid ... \mid a_n^- . t_n</math> are ''exclusive'' choices, since all possible interaction with another process leaves at most one active branch. | ||
These are examples | These are examples of synchronization-guarded choice. They allow for the encoding of sum types (with positive guards) and <math>case</math> expressions (with negative guards) in strongly typed functional languages. | ||
=== Pipeline === | === Pipeline === |
edits