Hello,if you remove the empty pair of parentheses, your definition is correct TLA+. It defines an operator whose effect it is to increment the state variable val and in can be used inside an action like so:MyAction ==/\ .../\ Calculate \* update variable val/\ ...There is no notion of "returning" an update of a variable.If you'd rather compute a value that can be used within an _expression_ you can defineValPlusOne == val + 1and have something likef' = [f EXCEPT ![p] = ValPlusOne]for updating an array at a certain position.Regards,StephanOn 15 May 2019, at 02:54, Balaji Arun <ba2...@xxxxxx> wrote:I am trying to have a specification with a definition for Calculate()module A:
How do I return that val to whoever is calling it (even another module that instantiates module A)? Assuming multiple processes call Calculate concurrently.--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tla...@
To post to this group, send email to tla...@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/
To view this discussion on the web visit https://groups.google.com/d/
msgid/tlaplus/d6598cfb-609a-. 4f6c-98a6-b12d58e6c6b4% 40googlegroups.com
For more options, visit https://groups.google.com/d/