[swift-evolution] Returning nothing

Matthew Johnson matthew at anandabits.com
Thu Jul 21 11:52:04 CDT 2016



Sent from my iPad

> On Jul 21, 2016, at 11:42 AM, Daniel Steinberg via swift-evolution <swift-evolution at swift.org> 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). 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)

> 
> 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
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list