Anonymous user
Function composition: Difference between revisions
no edit summary
m (omit TI-BASIC) |
No edit summary |
||
Line 286:
return fn x { return f(g(x)) }
}
=={{header|Erlang}}==
<lang erlang>
-module(fn).
-export([compose/2]).
compose(F,G) -> fun(X) -> F(G(X)) end.
multicompose(Fs) ->
lists:foldl(fun compose/2, fun(X) -> X end, Fs).
</lang>
Using them:
<lang erlang>
1> (fn:compose(fun math:sin/1, fun math:asin/1))(0.5).
0.5
2> Sin_asin_plus1 = fn:multicompose([fun math:sin/1, fun math:asin/1, fun(X) -> X + 1 end]).
#Fun<tests.0.59446746>
82> Sin_asin_plus1(0.5).
1.5
</lang>
=={{header|Forth}}==
|