Pipe-calculus: Difference between revisions

m
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 to 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.
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 ===
283

edits