Download
27 lines 472 BTextModified 2022-09-24 raw
123456789101112131415161718192021222324252627
extern sqrt(n:Num):Num
def sqr(self:Num):Num = self*self

x := 5.
s := x|sqr
say "$x|sqr = $s"

s |= sqr
say "$x|sqr|sqr = $s"

struct Vec{x:Num,y:Num}

def len(v:Vec):Num
    l := sqrt(v.x*v.x + v.y*v.y)
    return l

v := Vec{1., 1.}
say "$v|len = $(v|len)"
say "$v|len|sqr = $(v | len | sqr)"

def add(v:Vec, other:Vec):Vec
    return Vec{v.x + other.x, v.y + other.y}

say "$v|add(Vec{10.,10.}) = $(v | add(Vec{10., 10.}))"

v |= add Vec{100.,100.}
say "$v|=... = $v"