Лучшее, что я мог найти, было что-то вроде этого (в iex):
IO.puts "foo" ; :timer.sleep(1); IO.puts "bar"
Но оба моих предмета происходят без задержки.
Ответ 1
Таймер использует миллисекунды не секунды, обновляется до:
IO.puts "foo" ; :timer.sleep(1000); IO.puts "bar"
Документация: таймер в документе Erlang:
Приостанавливает процесс, вызывающий эту функцию для количества времени миллисекунды, а затем возвращается в норму или приостанавливает процесс навсегда, если Время - бесконечность атома. Естественно, эта функция не возвращается немедленно.