Sent from my iPad

> On Nov 11, 2017, at 11:40 AM, Chris Lattner <sa...@nondot.org> wrote:
> 
> On Nov 10, 2017, at 6:10 PM, Matthew Johnson via swift-evolution 
> <swift-evolution@swift.org> wrote:
>>>> On Nov 10, 2017, at 11:25 AM, Matthew Johnson via swift-evolution 
>>>> <swift-evolution@swift.org> wrote:
>>>> 
>>>>>> 
>>>>>> 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
>>>> 
>>>> 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.
>>> 
>>> Why?  One does not preclude the other.
>> 
>> For exactly the reason Joe articulates.  Some people will use what the 
>> language offers to get the syntax they desire even if it sacrifices type 
>> safety.  If we’re going to have first-class callable types in Swift (I think 
>> it’s a great idea) type safety for native code should be prioritized over 
>> syntactic convenience for dynamic language interop.  We can have both, but 
>> the former should come first IMO.
> 
> Hi Matthew,
> 
> In point of fact, Swift already has the feature you are referring to.  It 
> just spells it with square brackets instead of parentheses.  A simple change 
> to the punctuation character has much less point than the proposal that I’m 
> pitching.

This is true if you squint, but I imagine a design for callable types would 
include some 
 differences other than just punctuation.

> 
> -Chris
> 
> 
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to