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}}==
Anonymous user