[swift-evolution] Removing explicit use of `let` from Function Parameters
erica at ericasadun.com
Fri Mar 18 09:33:27 CDT 2016
> On Mar 17, 2016, at 10:45 PM, Nicholas Maccharoli via swift-evolution <swift-evolution at swift.org> wrote:
> Thank you!
> I have filed a PR here: https://github.com/apple/swift-evolution/pull/215 <https://github.com/apple/swift-evolution/pull/215>
> How does it look?
> - Nick
Because the proposals act as documentation for the evolution process, I think it may be worth
expanding the motivation section and the impact on existing code slightly.
You mention SE-0003 <https://github.com/apple/swift-evolution/blob/master/proposals/0003-remove-var-parameters.md> which removed var parameters and state "it would make sense
that the syntax for function parameters being explicitly declared as `let` would be removed as well."
I think it may be worth adding that SE-0001 <https://github.com/apple/swift-evolution/blob/master/proposals/0001-keywords-as-argument-labels.md> restricted `inout`, `var`, and `let` as argument labels.
SE-0003 removed `var, and SE-0031 <https://github.com/apple/swift-evolution/blob/master/proposals/0031-adjusting-inout-declarations.md> moved `inout` declarations to the type, leaving `let`
as the last remaining exception to SE-0001. Removing it reverts SE-0001 to a clear implementation
without special cases.
You might also mention `let` in its current use is redundant since its inclusion does not and
cannot modify the behavior of the declaration it decorates. It is rarely if ever used and in the
circumstances when added produces no positive contribution to the language since the behavior
is identical to its absence.
In the Impact on Existing Code section, you suggest "The `let` keword would have to be deleted if
placed before a function parameter." I'd recommend mentioning the migrator specifically and
adding that if not migrated, the let will be be now be interpreted as an external label.
-- E, who probably thought about this one a little too hard
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution