Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| language:types [2022/05/13 12:33] – rajit | language:types [2025/04/21 14:32] (current) – [Parameterized types] rajit | ||
|---|---|---|---|
| Line 189: | Line 189: | ||
| - | ===== Parameterized types ===== | + | ===== Parameterized |
| Parameterized types give ACT considerable flexibility in type | Parameterized types give ACT considerable flexibility in type | ||
| Line 226: | Line 226: | ||
| The default data type for a channel is assumed to be the default | The default data type for a channel is assumed to be the default | ||
| '' | '' | ||
| + | |||
| + | Channels are almost always unidirectional, | ||
| + | In a few cases, it is useful to be able to transfer data from the sender to the receiver, and from the | ||
| + | receiver to the sender in one channel action. To declare a channel where data are transferred in | ||
| + | both directions, use: | ||
| + | <code act> | ||
| + | // a bool is transferred from sender to receiver, and | ||
| + | // an int is transferred from the receiver to the sender | ||
| + | chan(bool, | ||
| + | </ | ||
| + | These are sometimes called //exchange channels//, since data is exchanged between the sender and receiver. | ||
| + | |||
| Another built-in data type is the // | Another built-in data type is the // | ||