> On Nov 10, 2017, at 1:19 PM, Chris Lattner via swift-evolution 
> <[email protected]> wrote:
> 
>> On Nov 10, 2017, at 10:51 AM, Joe Groff via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>>> 
>>>> Since we also lack the more obvious static "Callable" protocol idea to 
>>>> give even well-typed call syntax to user-defined types, this also seems 
>>>> like it'd be easily abused for that purpose too.
>>> 
>>> Similarly, I’d love for you to elaborate on how the potential for abuse of 
>>> this feature is different than anything else in Swift (e.g. operator 
>>> overloading).  Potential for abuse hasn’t been a particularly guiding force 
>>> in the design on Swift, and for good reasons.
>>> 
>>> I also don’t understand what you mean by a static Callable protocol.  I 
>>> specifically address what I think you might mean in the “alternatives” part 
>>> of the proposal, did you read that?
>> 
>> People have reasonably asked for the ability to make their own function-like 
>> types in the past, such that "myvalue(...)" behaves like sugar for 
>> "myvalue.call(...)" or something like that. In most cases, they still want 
>> to have type system control over what arguments and results their call 
>> operation produces. They don't really get that with this proposal; they lose 
>> all control over the arity and argument types.
> 
> As I mentioned, this is directly addressed in the writeup. Here’s the link:
> https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693d#staticly-checking-for-exact-signatures
>  
> <https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693d#staticly-checking-for-exact-signatures>
That discusses why you didn’t include it in the present proposal but I think 
it’s reasonable to oppose adding a dynamic callable feature prior to a more 
Swifty static callable.

> 
> -Chris
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to