RosettaCodeData/Task/Partial-function-application/Bracmat/partial-function-applicatio...

28 lines
482 B
Plaintext

( ( fs
=
. '$!arg:?arg
&
' ( first r
. :?r
& whl
' ( !arg:%?first ?arg
& !r ($arg)$!first:?r
)
& !r
)
)
& ( partial
=
. !arg:(?f.?g)
& /('(x./('(y.($x)$($y)))$!g))$!f
)
& (f1=.2*!arg)
& (f2=.!arg^2)
& partial$(fs.f1):(=?fsf1)
& partial$(fs.f2):(=?fsf2)
& out$(fsf1$(0 1 2 3))
& out$(fsf2$(0 1 2 3))
& out$(fsf1$(2 4 6 8))
& out$(fsf2$(2 4 6 8))
);