A peer to peer chat client written in Haskell