Já vi várias implementações de fizzbuzz por aí. Mine implementa recursão de cauda, que é uma prática comum (às vezes melhor) em erlang para melhorar o caminho de chamada para listas maiores.
-module(fizzbuzz).
-compile(export_all).
run() ->
run(lists:seq(1,100), []).
run([], Acc) ->
lists:reverse(Acc);
run([H|T], Acc) ->
run(T, [print_string(H)|Acc]).
print_string(X) when X rem 15 =:= 0 ->
"FizzBuzz";
print_string(X) when X rem 3 =:= 0 ->
"Fizz";
print_string(X) when X rem 5 =:= 0 ->
"Buzz";
print_string(X) ->
integer_to_list(X).
Aproveitar!