<div dir="ltr"><div>Ah thanks, I didn't do a good job of ctrl-Fing the docs.<br><br></div>- Tim<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 2, 2015 at 5:26 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 16:56 -0600, Tim Armstrong wrote:<br>
> Oh I didn't realise there were keyword args in K.  So K supports optional<br>
> arguments but the caller has to specify them by name, not position?<br>
<br>
</span>Yep. See<br>
<a href="http://swift-lang.org/guides/trunk/userguide/userguide.html#_procedures" target="_blank">http://swift-lang.org/guides/trunk/userguide/userguide.html#_procedures</a><br>
<br>
It's even funny at times:<br>
"...both positional parameter and named parameter passings can be<br>
passed..."<br>
<span class="HOEnZb"><font color="#888888"><br>
Mihael<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> - Tim<br>
><br>
> On Mon, Feb 2, 2015 at 4:18 PM, Mihael Hategan <<a href="mailto:hategan@mcs.anl.gov">hategan@mcs.anl.gov</a>> wrote:<br>
><br>
> > 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<br>
> > 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>
> > 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>
> ><br>
> > Mihael<br>
> ><br>
> ><br>
<br>
<br>
</div></div></blockquote></div><br></div>