Non-deterministic user-supplied functions
Rave provides a random variable capability that you can use to define and parameterize random variables, generate samples from these variables' distributions, and use these samples as inputs to deterministic functions to generate distributions of function variables.
That's not what this page is about.
An alternative way to work with random variables in Rave is to handle the randomness entirely within the functions that you supply. In this case, your function is non-deterministic in the sense that it is not guaranteed to always calculate the same value of the output, y, for the same values of the input(s), x.
If you do this, your function must obey the normal Rave rule that a single value of the inputs (i.e. one "row" of data) corresponds to a single value of the output. Thus, if your function calculates a distribution of values for the output, y, it must aggregate these values into a single (statistic) value before returning it to rave, for example mean(y).
Note that if you use non-deterministic functions, you cannot use any features (including visualizations) in Rave that are specific to random variables, as these features depend on using Rave's built-in mechanism for handling random variables.