June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -6,13 +6,13 @@ program =
|
|||
[
|
||||
var partial := (:afs:af)((:s)(afs eval(af, s))).
|
||||
|
||||
var fs := (:f:s)(s selectBy(:x)(f eval:x); summarize(ArrayList new); toArray).
|
||||
var fs := (:f:s)(s selectBy(:x)(f(x)); summarize(ArrayList new); toArray).
|
||||
var f1 := (:x)(x * 2).
|
||||
var f2 := (:x)(x * x).
|
||||
|
||||
var fsf1 := partial eval(fs, f1).
|
||||
var fsf2 := partial eval(fs, f2).
|
||||
var fsf1 := partial(fs, f1).
|
||||
var fsf2 := partial(fs, f2).
|
||||
|
||||
console printLine(fsf1 eval:(2,4,6,8)).
|
||||
console printLine(fsf2 eval:(2,4,6,8)).
|
||||
console printLine(fsf1((2,4,6,8))).
|
||||
console printLine(fsf2((2,4,6,8))).
|
||||
].
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
USING: kernel math prettyprint sequences ;
|
||||
IN: rosetta-code.partial-function-application
|
||||
|
||||
ALIAS: fs map
|
||||
: f1 ( n -- m ) 2 * ;
|
||||
: f2 ( n -- m ) dup * ;
|
||||
: fsf1 ( s -- s' ) [ f1 ] fs ;
|
||||
: fsf2 ( s -- s' ) [ f2 ] fs ;
|
||||
|
||||
{ 0 1 2 3 } [ fsf1 . ] [ fsf2 . ] bi
|
||||
{ 2 4 6 8 } [ fsf1 . ] [ fsf2 . ] bi
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
fs(f, s) = map(f, s)
|
||||
f1(x) = 2x
|
||||
f2(x) = x^2
|
||||
fsf1(s) = fs(f1, s)
|
||||
fsf2(s) = fs(f2, s)
|
||||
|
||||
s1 = [0, 1, 2 ,3]
|
||||
s2 = [2, 4, 6, 8]
|
||||
println("fsf1 of s1 is $(fsf1(s1))")
|
||||
println("fsf2 of s1 is $(fsf2(s1))")
|
||||
println("fsf1 of s2 is $(fsf1(s2))")
|
||||
println("fsf2 of s2 is $(fsf2(s2))")
|
||||
Loading…
Add table
Add a link
Reference in a new issue