I name it Russian Roulette. That takes the term winner to a new whole level of “winning”. The application is a stateful HTTP server (LOL) built on top of the network package.

You could checkout my latest code here Do a cabal run. Go to http://localhost:3000. Available commands are:

  • show :: show the current state of the application
  • join your_name :: append a name to the active members of the game
  • roll :: spin the roulette


  • HTTP with custom methods
  • Local file system
  • Typeclass
  • MVar
  • IO a monad
  • … and a bunch of $, <>, <$> add <*> so that I could be called a Haskeller ;). Well, to understand the language, I gotta use typical idioms as mental exercises.


  • Functional Programming Patterns for Mere Mortals - Daniel Chambers
  • Functional architecture - The pits of success - Mark Seemann
  • Practical Haskell -
  • Haskell in Depth -
  • Category Theory by Dr.Bartosz Milewski []