Events: Difference between revisions

Content added Content deleted
(Add LFE version of events based on the Erlang version)
(Added Elixir)
Line 279: Line 279:
println("[1] Waiting 1 second...")
println("[1] Waiting 1 second...")
}</lang>
}</lang>

=={{header|Elixir}}==
{{trans|Erlang}}
<lang elixir>defmodule Events do
def log(msg) do
{h,m,s} = :erlang.time
:io.fwrite("~2.B:~2.B:~2.B => ~s~n",[h,m,s,msg])
end
def task do
log("Task start")
receive do
:go -> :ok
end
log("Task resumed")
end
def main do
log("Program start")
pid = spawn(Events,:task,[])
log("Program sleeping")
:timer.sleep(1000)
log("Program signalling event")
send(pid, :go)
:timer.sleep(100)
end
end

Events.main</lang>

{{out}}
<pre>
1:39:30 => Program start
1:39:30 => Program sleeping
1:39:30 => Task start
1:39:31 => Program signalling event
1:39:31 => Task resumed</pre>


=={{header|Erlang}}==
=={{header|Erlang}}==