<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 28, 2017, at 1:55 PM, Ben Rimmington &lt;<a href="mailto:me@benrimmington.com" class="">me@benrimmington.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">I suggest using different subscripts for function/method calls and properties:<br class=""><br class="">* `value(...)` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==&gt; `value[dynamicFunction: ""](...)`<br class="">* `value.name(...)` ==&gt; `value[dynamicFunction: "name"](...)`<br class="">* `value.name` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==&gt; `value[dynamicProperty: "name"]`<br class=""><br class="">Dynamic callable types have an unnamed method.<br class="">Dynamic argument labels are always allowed (but can be ignored).<br class="">For example, the labels of `Date.UTC` below are not passed to JavaScript.<br class=""></div></div></blockquote></div><br class=""><div class="">Hi Ben,</div><div class=""><br class=""></div><div class="">This proposal has nothing to do with “callables”, just dynamics member lookup. &nbsp;The other proposal:&nbsp;<a href="https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693d" class="">https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693d</a>&nbsp;(which I need to revise a bit) relates to dynamic callable stuff, and it does in fact have a “DynamicCallableWithKeywordsToo” form that provides what you are asking for IIUC.</div><div class=""><br class=""></div><div class="">There is no need to model calls as subscripts though, because syntactic calls in swift (intentionally) do not produce lvalues.</div><div class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""></div></body></html>