useParamPipedeffoo(a,b,c)doa*2+b*3+c*4enddefbar0()do100|>div(5)|>div(2)# 10end# negative n in |n> is supporteddefbar1()do1|0>foo(0,0)|1>foo(0,0)|-1>foo(0,0)# 24end# mixed usage with |> is supporteddefbar2()do1|>foo(0,0)# 2|1>foo(0,0)# 6|>div(2)# 3|>div(3)# 1|2>foo(0,0)# 4|>(fnx->foo(0,0,x)end).()# 16|-1>foo(0,0)# 64end# assigning a variable within the pipe operator is supporteddefbar3()doh=1|-2>foo(0,0)=f# 3 = f|-1>foo(0,0)# 12|>foo(0,0)=g# 24 = g|-1>foo(0,0)# 96|>foo(f,g)# 297hend