Section 6.4 of Specifying Systems has a thorough discussion of the tradeoffs between functions and operators . The conclusion is as follows:When defining an object V, you may have to decide whether to make V an operator that takes an argument or a function. The differences between operators and functions will often determine the decision. [...] If these differences don’t determine whether to use an operator or a function, then the choice is a matter of taste. I usually prefer operators.Regards,Stephan Since the publication of Specifying Systems, recursive operator definitions have been added to TLA+ and therefore the arguments about recursive definitions no longer apply.There are cases when either a function or operator will solve a task more-or-less equivalently.For example, both this function and operator accomplish a roughly-equivalent result:
addOne[x \in Nat] == x + 1
addOneOperator(x) == x + 1My question is: when either an operator or function will accomplish a job, which one would you prefer? What are the tradeoffs?--
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 tlaplus+u...@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/6108b306-0d5a-4a0f-80bf-6c56ebefc51fn%40googlegroups.com.