[swift-evolution] [swift-evolution-announce] SE-0183 - Substring performance affordances

Howard Lovatt howard.lovatt at gmail.com
Wed Jul 19 18:07:05 CDT 2017

> The review of "Substring performance affordances" begins now and runs
> through July 21, 2017. The proposal is available here:
> https://github.com/apple/swift-evolution/blob/master/proposals/0183-substring-affordances.md
>         • What is your evaluation of the proposal?

Generally good. The reservation I have is there are an increasing number of
‘small’ proposals that paper over the limitations of protocols. If
protocols could be used as a type then the methods in `StringProtocol`
would return `StringProtocol` and methods would accept `StringProtocol`.
Whether `String` or `StringSlice` is actually returned by a method would be
irrelevant. Is it better to spend the engineering effort on improving
protocols and `Self` rather than continuously ‘papering over the cracks’.

>         • Is the problem being addressed significant enough to warrant a
> change to Swift?


>         • Does this proposal fit well with the feel and direction of Swift?

It depends upon the long term view, if protocols are to be improved then
no. If protocols are to remain as is then yes.

>         • If you have used other languages or libraries with a similar
> feature, how do you feel that this proposal compares to those?

Other languages that have more powerful equivalent to protocols program to
the protocol and use them for argument and return types. This works better
than the proposal because it is much more generally applicable and doesn’t
hard code implementation details.

>         • How much effort did you put into your review? A glance, a quick
> reading, or an in-depth study?

Read the proposal only, but have had problems with protocols in general and
have tried various ad-hoc solutions including solutions similar to those
proposed for `String`.

> More information about the Swift evolution process is available at:
> https://github.com/apple/swift-evolution/blob/master/process.md
> Thank you,
> Chris Lattner
> Review Manager
> _______________________________________________
> swift-evolution-announce mailing list
> swift-evolution-announce at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution-announce
-- Howard.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170719/16730033/attachment.html>

More information about the swift-evolution mailing list