use "std" use "types" use "math" println "Operator overloading" def `::`(v1, v2) = string(v1) + string(v2) print "1 :: 2 :: 3 = " println 1 :: 2 :: 3 def `^`(v1, v2) = pow(v1[0], v2[0]) print "[2] ^ [7] = " println [2] ^ [7] def `..`(a, b) = range(a, b - 1) def `**`(a, b) = int(pow(a, b)) for y : 1 .. 10 { println sprintf("2 ^ %d = %d", y, 2 ** y) }