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
On Mar 17, 2016, at 10:45 PM, Nicholas Maccharoli via swift-evolution <email@example.com> wrote:
I have filed a PR here: https://github.com/apple/swift-evolution/pull/215
How does it look?