[Haskell-beginners] Unix-style command line arguments and file input?

Rianna Morgan rmorgan at trystero.is
Tue May 5 18:10:38 UTC 2015


Hi there,

I've had fun using cmdargs[1]. 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[2] 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[3] code[4]
  that is also useful for seeing how the library works.

- Here is another an example[5] that shows how to make Hello World take
  a few basic command arguments.

Hope this helps,
--
Rianna Morgan rmorgan at 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 at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners



Links:

  1. https://hackage.haskell.org/package/cmdargs
  2. https://zuttobenkyou.wordpress.com/2011/04/19/haskell-using-cmdargs-single-and-multi-mode/
  3. http://neilmitchell.blogspot.com/2010/08/cmdargs-example.html
  4. http://community.haskell.org/~ndm/cmdargs/
  5. http://spin.atomicobject.com/2012/12/13/using-haskells-cmdargs-package/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150505/35d3a5f5/attachment.html>


More information about the Beginners mailing list