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

Reply via email to