I use the CmdArgs module all the time for all of my personal Haskell projects. CmdArgs is really the one-stop solution for all of your command-line option handling needs. Its “killer” feature is the ability to support multi-mode options (e.g., “myprog mode1 [mode1 options]”, “myprog mode2 [mode2 options]”, etc.). Unfortunately, not many people know about CmdArgs, it seems. So, I’m writing this pos
![Haskell: Using CmdArgs (Single and Multi-Mode)](https://cdn-ak-scissors.b.st-hatena.com/image/square/1a87619315984a7d94080ee0ccbe84c9c78a36b3/height=288;version=1;width=512/https%3A%2F%2Fzuttobenkyou.files.wordpress.com%2F2011%2F04%2Fsinglemode.png)