- Index
- » Programming
- » Modelica Language
- » Order of evaluation in Modelica vs...
Order of evaluation in Modelica vs determinism of the model
Order of evaluation in Modelica vs determinism of the model
I am completely new to Modelica and my question might be a bit nonsensical. One of problems with languages like C/C++ I had when treating pieces of code like a model, was the arbitrary order of evaluation. Alternative branches needed to be build in the corresponding model just to check if the side effects inside f(x) + g(x) are semantically important, given that the two functions can be called in any order.
Primarily though of as a means for optimisation, the free order of evaluation in C/C++ may lead to different sort of problems. Many more modern languages have a very strict order of evaluation.
Now If I am not wrong, Modelica is not an imperative language and an expression represents some dependency etc. so it is a thing quite different. Still, I have read somewhere, that "tools are free to decide about the order of evaluation" etc. Is this completely normal for declarative languages? Is not there some non-determinism introduced to a Modelica model just to "cater" to tool providers and optimisation lovers?
Are modelica model deterministic, save random operations and of course, the numerical precision?
- Index
- » Programming
- » Modelica Language
- » Order of evaluation in Modelica vs...