Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| language:expressions [2025/03/06 22:27] – [Bit-width rules] rajit | language:expressions [2025/04/21 17:39] (current) – [Structure references] rajit | ||
|---|---|---|---|
| Line 185: | Line 185: | ||
| } | } | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | ===== Structure references ===== | ||
| + | |||
| + | Functions can return [[language: | ||
| + | |||
| + | <code act> | ||
| + | deftype mystruct (int a, b) | ||
| + | { | ||
| + | | ||
| + | function getsum() : int | ||
| + | { | ||
| + | chp { | ||
| + | self := a + b | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | { | ||
| + | chp { | ||
| + | self.a := a + 1; | ||
| + | self.b := b + 1 | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | We can have expressions of the following form: | ||
| + | |||
| + | <code act> | ||
| + | mystruct s; | ||
| + | int a; | ||
| + | ... | ||
| + | chp { | ||
| + | ... | ||
| + | a := s.addone().getsum(); | ||
| + | ... | ||
| + | } | ||
| </ | </ | ||