Understanding is a flat map. So your code is equivalent:
Stream.flat_map 1..1000000, fn i -> Stream.flat_map 1..1000000, fn j -> [{i, j}] end end
I suggested "stream for" and "parallel" for future versions of Elixir, however it expects some other language improvements.
source share