// file: objects.rex // author: Robert Keller // purpose: demonstrating objects in rex pair(x, y) = (msg) => msg == "max" ? max(x, y) : msg == "min" ? min(x, y) : concat("message ", msg, " not understood"); a = pair(3, 5); b = pair(-5, 19); counter(initial) = value = initial, mx = initial, (msg) => msg == "down" ? set(value, value-1) : msg == "up" ? seq(set(value, value+1), set(mx, max(mx, value))) : msg == "max" ? mx : concat("message ", msg, " not understood"); c = counter(0); d = counter(0); f = d;