I have the following code
import Process
defmodule MC2Elixir do
def p(u) do
pid1 = spawn_link( fn -> (send(u,{:m,"Hello"})) end)
pid2 = spawn_link( fn -> (receive do
{_tag, message} -> message
end
exit(self(), :terminated)) end)
end
def q(u) do
pid1 = spawn_link( fn -> (send(u,{:m,"v"})) end)
pid2 = spawn_link( fn -> (receive do
{_tag, message} -> message
end
exit(self(), :terminated)) end)
end
def main() do
pid1 = spawn_link( fn -> sleep(1) (MC2Elixir.p(q)) end)
pid2 = spawn_link( fn -> sleep(1) (MC2Elixir.q(p)) end)
register(pid1, :p)
register(pid2, :q)
end
end
and every time I run it
[error] Process #PID<0.221.0> raised an exception
** (ArgumentError) argument error
:erlang.send(:p, {:m, "v"})
mc2elixir.exs:13: anonymous fn/1 in MC2Elixir.q/1
an error pops up.
What could the problem be please?