Archive for » August 16th, 2008 «

Joe Armstrong真的是天才

这么简洁漂亮的语法都能创造出来,真的服了,着迷啊着迷!
[coolcode]
double([H|T]) -> [2*H|double(T)];
double([]) -> [].

> double([1,2,3,4]).
[2,4,6,8]

add_one([H|T]) -> [H+1|add_one(T)];
add_one([]) -> [].

map(F, [H|T]) -> [F(H)|map(F, T)];
map(F, []) -> [].

double(L) -> map(fun(X) -> 2*X end, L).
add_one(L) -> map(fun(X) -> 1 + X end, L).
[/coolcode]