Daryoush Mehrtash wrote:
I am trying to learn more about concurrent applications in Haskell by
studying an existing a real application source code. I would very much
appreciate if you can recommend an application that you feel has done a
good job in implementing a real time application in Haskell.
Yogurt[1], a MUD client, uses two threads: one to process input from the
server and one to process input from the client. It uses an MVar to
synchronize. All concurrency is located in module Network.Yogurt.Readline.
Custard[2], a MUD server, uses several threads:
* Server, maintaining MUD state
* one that listens for incoming connections
* per client, one that listens for client input
* per client, one that listens for messages from Server
It uses channels and message passing to synchronize. All concurrency is
located in module Engine.
[1] http://hackage.haskell.org/package/Yogurt
[2] http://code.google.com/p/custard/
Hope this helps,
Martijn.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe