Exclamation point (!
) indicates parallel version of a command or method call.
array<int>
vs. array!<int>
array.size
vs. array!size
class array<T> {
# define size as a function that can be implemented in parallel or serial
def size|! : int = this|!reduce(x, y -> x + 1)
# define explicitly serial and parallel versions of reduce
def reduce( ... ) : T