[Haskell-cafe] FICS client in Haskell

Tilmann t_gass at gmx.de
Thu Jan 28 16:37:33 UTC 2016


Hi,
I've been working on a FICS (Free Internet Chess Server) Client for a 
bit over a year now and it is finally in a presentable state. It would 
be great if you would like to have a look at the source code and let me 
know what you think!

When I started with this project I was just starting to learn Haskell 
and I would like to know if the code is accessible/readable/idiomatic, 
if the overall organization seems reasonable as well or if you might 
have any other suggestion about what I could improve. (ie: I haven't 
decided on what logging framework to use.)

The code is on github: https://github.com/tgass/macbeth

I thank you all very much in advance!
Tilmann



https://github.com/tgass/macbeth/blob/master/src/Macbeth/Fics/FicsConnection.hs
Opens a telnet connection to freechess.org. Using conduit and attoparsec 
messages from the server are parsed to FicsMessages and put into a Chan.

https://github.com/tgass/macbeth/blob/master/src/Macbeth/Fics/FicsMessage.hs
The domain model

The UI is using wx widgets (wxHaskell). Each wx-frame gets a copy of 
Chan FicsMessage and updates the UI when new Messages are available, ie 
here:
https://github.com/tgass/macbeth/blob/master/src/Macbeth/Wx/ToolBox.hs
https://github.com/tgass/macbeth/blob/master/src/Macbeth/Wx/Game.hs



More information about the Haskell-Cafe mailing list