Skip to content

Instantly share code, notes, and snippets.

@mikoim
Created July 15, 2017 09:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mikoim/3d32a0a2961a2bac27e78291727ecc41 to your computer and use it in GitHub Desktop.
Save mikoim/3d32a0a2961a2bac27e78291727ecc41 to your computer and use it in GitHub Desktop.
Why does IO.puts print text so slow?
defmodule Catalan do
def main(argv) do
List.first(argv)
|> Integer.parse
|> (&elem(&1, 0)).()
|> parents
end
def parents(n), do: _parens("", n, n)
def _parens(prefix, left, right) do
unless left == 0 or right == 0 do
IO.puts prefix
end
if left > 0 do
_parens(prefix <> "(", left - 1, right)
end
if right > left do
_parens(prefix <> ")", left, right - 1)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment