Hi there,
 
I've had fun using cmdargs. Here are several sites that I found to be very helpful in learning how to use the package:
 
- This was probably the single most helpful bit of example code that I found because it illustrates how to have multiple modes that take different option flags better than other tutorials.
 
- Neil Mitchell, the author of cmdargs, has some nice example code that is also useful for seeing how the library works.
 
- Here is another an example that shows how to make Hello World take a few basic command arguments.
 
Hope this helps,
--
Rianna Morgan
rmorgan@trystero.is
 
On Tue, May 5, 2015, at 10:43 AM, Vale Cofer-Shabica wrote:
> Hello all,
>
> Punchline first: What's the "best practice" way of doing unix-style
> command line argument and file input processing in Haskell?
>
> Background:
> I'm using Haskell to write programs that act like well-behaved,
> pipe-friendly unix tools. i.e., the following are all equivalent:
>
> % ./prog file
> % ./prog < file
> % cat file | ./prog
>
> Thus far, I've done this by directly inspecting the first element of
> System.Environment.getArgs, which has been fine thus far.
>
> I'd also like to be able to take simple command line arguments
> (boolean flags and numeric parameters) and the above doesn't adapt
> well to that case. I'd like to do this in the idiomatic, "standard"
> way (a la getopt() in C). Browsing through the wiki page on command
> line argument parsers [1] gave me a bewildering array of options. I'm
> not really sure where to start, though I remember reading a blanket
> endorsement of optparse-applicative somewhere.
>
> Any pointers or examples that address my use-case would be much
> appreciated.
>
> -vale
>
> [1]: https://wiki.haskell.org/Command_line_option_parsers
> _______________________________________________
> Beginners mailing list
> Beginners@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners