<div dir="ltr"><div>Oh I didn't realise there were keyword args in K.  So K supports optional arguments but the caller has to specify them by name, not position?<br><br></div>- Tim<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 2, 2015 at 4:18 PM, Mihael Hategan <span dir="ltr"><<a href="mailto:hategan@mcs.anl.gov" target="_blank">hategan@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, 2015-02-02 at 15:46 -0600, Tim Armstrong wrote:<br>
> I think that sounds good to me.<br>
><br>
> I think with overloading, I might attempt to implement overloading in the<br>
> generic way (such that it would support user-defined functions), but only<br>
> enable it for library functions by default.  This would let us experiment<br>
> with it to see how it works, but reduces the possibility of bugs for the<br>
> time being.<br>
><br>
> I think the keyword arguments needs some discussion.   I was thinking that<br>
> we'd have optional positional arguments only (like C++).  I think in any<br>
> case I'd like to put keyword arguments into the "future" category.  I'm<br>
> open to discussion but I think we can put that off too.<br>
<br>
</span>They are already in K, but noted.<br>
<br>
I'm inclined to change most library functions with keyword args (such as<br>
substring(str, start, [end =...]) to overloaded ones, since there is no<br>
good reason to write:<br>
<br>
s1 = substring(s, 0);<br>
s2 = substring(s, 1, end = 5);<br>
<br>
rather than<br>
<br>
s2 = substring(s, 1, 5);<br>
<br>
I think that, from this perspective, overloading is roughly equivalent<br>
to optional positional arguments.<br>
<span class="HOEnZb"><font color="#888888"><br>
Mihael<br>
<br>
</font></span></blockquote></div><br></div>