> 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
