CHP Grammar - CAST to HAC Migration Guide
Description: CAST to HAC Migration Guide

Next: New CHP Features, Previous: CHP Lexical Conventions, Up: CHP

### 12.2 CHP Grammar

Nondeterministic selections are delimited by `:` in HAC, whereas they were delimited by `|` in CAST.

In CAST, send and receive actions were written as: ``X!x`' or ``Y!z`', but in HAC, send and receive arguments must be enclosed within parenthesis like function call arguments: ``X!(x)`' or ``Y!(z)`'. Rationale: syntactic consistency and disambiguation with the concurrency operator (comma).

HAC supports receive actions that do not write to any variables. ``Y?`' acknowledges channel `Y` without writing its values.