[swift-evolution] Referencing zero-parameter functions

Xiaodi Wu xiaodi.wu at gmail.com
Thu May 5 11:34:32 CDT 2016


I disagree. Not having a parameter label implies presence of a parameter.
It is not natural at all to use the same symbol to denote absence of a
parameter. `foo(_)` is a single typo away from `foo(_:)`.

IMO, after arbitrary expressions are removed from #selector, it is
straightforwardly a bug that `foo()` cannot be used to denote a function
with no parameters.
On Thu, May 5, 2016 at 10:59 Alex Hoppen via swift-evolution <
swift-evolution at swift.org> wrote:

> Say you have the function `foo() -> Int`. Then `foo()` calls `foo` and
> returns its return value of type `Int` – not a reference to the function of
> type `Void -> Int`.
>
> As to `_`: Like I stated in the proposal the underscore is already used in
> functions to state that there is no parameter name. So I think it’s a
> natural extension to also use it for saying that there are no arguments at
> all.
>
> – Alex
>
> > On 05 May 2016, at 17:21, David Sweeris <davesweeris at mac.com> wrote:
> >
> > What’s wrong with `foo()` again? To me, a `_` in the parameter list
> means that something is there, but the label doesn’t matter.
> >
> > - Dave Sweeris
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160505/20226ef8/attachment.html>


More information about the swift-evolution mailing list