RosettaCodeData/Task/First-class-functions/Lang/first-class-functions.lang

14 lines
327 B
Plaintext

fp.cube = ($x) -> return parser.op($x ** 3)
fp.cuberoot = ($x) -> return parser.op($x ** (1/3))
# fn.concat can be used as compose
&funcs $= [fn.sin, fn.cos, fp.cube]
&invFuncs $= [fn.asin, fn.acos, fp.cuberoot]
$pair
foreach($[pair], fn.arrayZip(&funcs, &invFuncs)) {
parser.op(fn.println(($pair[0] ||| $pair[1])(.5)))
}