포토로그



A Poem for Her Erlang

그녀를 만났고, 그녀에게 사랑한다고 말했다.
그녀도 사랑한다고 말했고, 나 또한 사랑한다.
시련이 있겠지만 나는 계속 사랑한다.

그를 만났다.
그가 사랑한다고 했고, 나도 사랑한다고 했다.
시련이 있겠지만 나는 계속 사랑한다.

내가 그를 세상에 나게 했고
그녀 또한 세상에 나게 하여
서로 만나게 했으나
그들에게 시련을 줄 것이고, 또 줄 것이니
사랑하는 것은 그들의 몫이니라.

당신이 나에게 일러 시가 있으라 하셨다.


-module(lovestory).
-export([start/0]).

me(Her) ->
receive
{meet, you, PhoneNumber} ->
PhoneNumber ! {self(), "I love you."},
me(PhoneNumber);
{Her, "I love you."} ->
io:format("She said to me 'I love you'~n"),
Her ! {self(), "I love you."},
me(Her);
_ ->
io:format("It doesn't matter.~n"),
me(Her)
end.

you(Him) ->
receive
{meet, me, PhoneNumber} ->
you(PhoneNumber);
{Him, "I love you."} ->
io:format("He said to me 'I love you'~n"),
Him ! {self(), "I love you."},
you(Him);
_ ->
io:format("It doesn't matter.~n"),
you(Him)
end.

start() ->
Me = spawn(fun() -> me(void) end),
You = spawn(fun() -> you(void) end),
Me ! {meet, you, You},
You ! {meet, me, Me},
World = fun(NextWorld) ->
case random:uniform(2) of
1 ->
You ! disturb;
2 ->
Me ! disturb
end,
receive
after 1000 ->
void
end,
NextWorld(NextWorld)
end,
World(World).

덧글

댓글 입력 영역