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