[Haskell-beginners] Questions on type declarations
ARJANEN Loïc Jean David
arjanen.loic at gmail.com
Sat Oct 6 12:24:52 CEST 2012
On 06/10/2012 02:06, brandon s allbery kf8nh wrote:
> 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
> 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.
Perhaps the confusion comes from the fact that languages such as C or
Java treat the program parameters as function arguments to main.
Position which is not completely non-sensical when calls such as exec()
exist, but I'd rather that they divide the OS-level arguments from the
language-level ones: they are different after all.
And, judging from its signature, getArgs isn't a function without
parameters but a value representing a list of program parameters,
possibly empty. Said value coming from the system, it is in IO.
>> - dispatch :: [(String, [String] -> IO ())]
> Looks to me like it's described fairly well by the text. What is your
> 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...
More information about the Beginners