A Ping/Pong Example
A Ping/Pong Example
import Prelude
go :: Process ()
go = do
self <- getSelf
pid <- spawn loop
pid ! (self, :ping)
receive
:pong -> println "Pong!"
pid ! :stop
loop :: Process ()
loop =
receive
(from, :ping) -> do
println "Ping!"
from ! :pong
loop
:stop -> return ()
