283
edits
KalmanKeri (talk | contribs) |
KalmanKeri (talk | contribs) |
||
Line 166: | Line 166: | ||
==== Exclusive choice ==== | ==== Exclusive choice ==== | ||
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 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 to synchronization-guarded choice. They allow for the encoding of sum types (with positive guards) and the corresponding <math>case</math> expressions (with negative guards) in strongly typed functional languages. | |||
=== Pipeline === | === Pipeline === |
edits