Regarding the 1st one, I think Enum.each can be used, if you just want to iterate through the range.
iex(1)> 1..10 |> Enum.each fn(x) -> IO.puts(x) end
iex(2)> 1..10 |> Enum.each &IO.puts(&1)
1
2
...
:ok
Regarding the 2nd one, one option might be like the following (though there may be a better way).
iex(3)> ?a..?z |> Enum.each &IO.puts(String.from_char_list!([&1]))
a
b
...
:ok
iex(4)> ?a..?z |> Enum.map(&String.from_char_list!([&1])) |> IO.puts
abcdefghijklmnopqrstuvwxyz
:ok
[2.3 Strings (binaries) and char lists (lists)] in the following covers some of the char list (?a, etc.) http://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html