<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><span style="font-family: Palatino-Roman;" class="">Are API Design Guideline improvement discussions in scope for the Swift Evolution list and if not, where would they go?</span></div><div class=""><div class=""><br class=""></div><div class="">For example, the current Swift API Design Guidelines follow these rules more or less.<div class=""><ul class=""><li class="">Use imperative verb phrases for mutating methods: x.reverse(), x.sort(), x.tweak()</li><li class="">Use noun phrases for non-mutating methods: x.distanceTo(...), idx.successor()</li></ul></div><div class="">Seems to me the rules should actually be along the lines of:</div><div class=""><ul class=""><li class="">Use verb phrases to declare procedural methods, whether or not they mutate an instance or just produce side effects: x.reverse(), x.sort(), x.tweak(), x.perform(), x.dispatch(), x.send()</li><li class="">Use noun phrases to describe values returned by a functional method: x.distanceTo(y), index.successor() (This admittedly leaves further issues around other functional methods, for example, seq.separatedBySequence(seq) and int.strideTo(other: Self, step:Self.Stride), etc. )</li></ul></div></div></div><div class="">Are enhancements for API Design Guidelines an area for community involvement? Where would you start a discussion about the rules? Would modifications involve formal proposals?</div></body></html>