diff --git a/content/language-reference/system-description/declarations/external-functions.md b/content/language-reference/system-description/declarations/external-functions.md index dfa973fa..086a1fbe 100644 --- a/content/language-reference/system-description/declarations/external-functions.md +++ b/content/language-reference/system-description/declarations/external-functions.md @@ -14,8 +14,10 @@ The external functions are supported since Uppaal Stratego version 4.1.20-7, or {{% notice warning %}} The external function calls must be ***deterministic***: for any argument values, the function should produce the same result at any time when called with the same values.
- For example, *side-effect-free* (or *free*) functions, which do not depend on [`static`](https://en.wikipedia.org/wiki/Static_variable) variables, are ***deterministic***.
- [Memoization](https://en.wikipedia.org/wiki/Memoization) is allowed. + Uppaal does ***not** check and *will not warn* if an external function is behaving *deterministically*.
+ For example: + - *Side-effect-free* (or *free*) functions, which do not depend on [`static`](https://en.wikipedia.org/wiki/Static_variable) variables, are *deterministic*. + - [Memoization pattern](https://en.wikipedia.org/wiki/Memoization) is not *side-effect-free*, but results in *deterministic* behavior. {{% /notice %}} External Functions can be declared alongside other declaratios. External functions are local to the current scope, defined by the grammar: