[Haskell-beginners] Questions on type declarations

brandon s allbery kf8nh allbery.b at gmail.com
Sat Oct 6 02:06:24 CEST 2012

On Friday, 5 October 2012 at 19:55, thorsopia at lavabit.com wrote:
> - getArgs :: IO [String]
> It can get several params, but its type declaration looks like it gets
> none.

It doesn't get any Haskell parameters; it retrieves OS-level (not Haskell-level) parameters to the program.  If you know Perl, it's the difference between @_ and @ARGV; if Python, the difference between local parameters and sys.argv.  You might infer from the fact that other languages also distinguish, that there is an actual difference between function parameters and program parameters; if you are not clear on this, you will need to figure it out regardless of the language you're working with.
> - dispatch :: [(String, [String] -> IO ())]
Looks to me like it's described fairly well by the text.  What is your confusion?

It is an association list:  a list of pairs, the first element being a key and the second being a value.  The value in this case is a function which takes a list of strings and produces an IO action.

brandon s allbery kf8nh                               sine nomine associates
allbery.b at gmail.com                                  ballbery at sinenomine.net
unix/linux, openafs, kerberos, infrastructure          http://sinenomine.net

Sent with Sparrow (http://www.sparrowmailapp.com/?sig)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20121005/0c1ac587/attachment.htm>

More information about the Beginners mailing list