From the Decker reference manual, Built-In Functions, footnote 6:
The behavior of random[x y] depends on the type of x and whether or not y is provided:
- if
xis a number, treat it as if it wererange x. - if
xis anything else, choose random elements from it. - if
yis missing, the result will be a single random element. - if
yis positive, choose a list ofyrandom elements. - if
yis negative, choose a list of|y|random elements without repeats, provided sufficient elements iny.