I have read interesting
litmus test for a functional language from
stackoverflow user
Nemo. Just for curiosity there is mine try for perl:
sub Inc{1+shift}
sub Thrice {
my $f=shift;
sub {
$f->($f->($f->(shift)))
}
}
$\="\n";
print
for Thrice(\&Inc)->(0),
Thrice(Thrice(\&Inc))->(0),
Thrice(\&Thrice)->(\&Inc)->(0)
and Erlang:
1> Thrice = fun(F) -> fun(X) -> F(F(F(X))) end end.
#Fun
2> Inc = fun(X) -> 1+X end.
#Fun
3> (Thrice(Inc))(0).
3
4> (Thrice(Thrice(Inc)))(0).
9
5> ((Thrice(Thrice))(Inc))(0).
27
Both seems functional enough for mine personal taste.
No comments:
Post a Comment