<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 2017-11-20 10:13 AM, Gregory Guthrie wrote:<br>
<blockquote type="cite"
cite="mid:08EF9DA445C4B5439C4733E1F35705BA0678889B2B49@MAIL.cs.mum.edu">
<p class="MsoNormal">But since the interpreter already correctly
inferred that the first clause has two arguments (with only one
explicit), why does it then ignore this and give an error when
the second clause shows two explicit arguments? The types are
all correct in either case – why require explicit arguments?<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
</blockquote>
<br>
Actually, the first clause doesn't have two arguments. It's a
single-argument function that returns a one-argument function.
Strictly speaking, all multi-argument functions are one-argument
functions that return other functions, but the compiler makes a
distinction, perhaps to help guard against mistakes. So it's a
requirement that all clauses of a function definition have the same
number of explicit arguments.<br>
</body>
</html>