Thanks all,

I did note that Nothing had been considered for another purpose and rejected so 
I didn’t think it would cause confusion.

I understand folks who advocate another name such as Unit but don’t feel that 
would help newcomers. Unit doesn’t seem to be more intuitive for them than Void.

Chris’ note addressed my misconception that a goal of Swift was that it could 
be a good first or learning language. I apologize for drawing that conclusion 
from (perhaps misreading) articles about Playgrounds that mentioned Swift as 
being designed so that it was a ideal for children and new programmers. The 
articles may have meant that the environment was designed for that purpose not 
the language.

Although my examples were in stand-alone functions, I was really thinking about 
functions that are passed as argument to other functions.

Given the response, there doesn’t seem to be a reason for me to draw up a 
proposal.

Thank you for the quick feedback,

Best,

Daniel


> On Jul 21, 2016, at 1:19 PM, Matthew Johnson <[email protected]> wrote:
> 
>> 
>> On Jul 21, 2016, at 11:59 AM, Xiaodi Wu <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Quite frankly, I think the ship has long sailed for renaming Void.
> 
> Agree.  I’m not advocating change, just stating things that should be 
> considered if anyone wants to propose it.
> 
>> 
>> 
>> On Thu, Jul 21, 2016 at 11:52 AM, Matthew Johnson via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> 
>> Sent from my iPad
>> 
>> > On Jul 21, 2016, at 11:42 AM, Daniel Steinberg via swift-evolution 
>> > <[email protected] <mailto:[email protected]>> wrote:
>> >
>> > This may be a silly question - given that one of Swift’s design principles 
>> > is to be a language for new programmers and for APIs to read like English 
>> > phrases, should we replace the typealias of Void for the return type () 
>> > with Nothing.
>> 
>> Nothing was one of the names considered for the bottom type that replaces 
>> @noreturn 
>> (https://github.com/apple/swift-evolution/blob/master/proposals/0102-noreturn-bottom-type.md
>>  
>> <https://github.com/apple/swift-evolution/blob/master/proposals/0102-noreturn-bottom-type.md>).
>>  I think it would be confusing to rename Void to Nothing.
>> 
>> If we consider renaming it Unit is the obvious way to go 
>> (https://en.m.wikipedia.org/wiki/Unit_type 
>> <https://en.m.wikipedia.org/wiki/Unit_type>)
>> 
>> >
>> > So
>> >
>> > f: ( input: Int) -> Void
>> >
>> > becomes
>> >
>> > f: ( input: Int) -> Nothing
>> >
>> > Instead of saying “f takes an Int and returns a Void” I read this as “f 
>> > takes an Int and returns nothing”.
>> >
>> > I’ve been using f:(input: Int) -> () because it’s easier to explain than 
>> > Void to non-experienced programmers. Experienced programmers have no 
>> > problem with Void. But Void seems to be something we’re using just because 
>> > we have for a while - like x++ and C-style for loops.
>> >
>> > Best,
>> >
>> > Daniel
>> > _______________________________________________
>> > swift-evolution mailing list
>> > [email protected] <mailto:[email protected]>
>> > https://lists.swift.org/mailman/listinfo/swift-evolution 
>> > <https://lists.swift.org/mailman/listinfo/swift-evolution>
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <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