[swift-evolution] [swift-evolution-announce] [Review] SE-0089: Replace protocol<P1, P2> syntax with Any<P1, P2>

L Mihalkovic laurent.mihalkovic at gmail.com
Sat Jun 11 14:19:32 CDT 2016

> On Jun 11, 2016, at 8:46 PM, Brent Royal-Gordon <brent at architechies.com> wrote:
>>> That's certainly a valid question.  I have been very vocally skeptical
>>> that HKTs like Monad belong in the standard library, but I am not
>>> opposed to having the language feature if it supports important use
>>> cases.
>> It is surprising to see people debating the place of monads in Swift when nobody seems to speak about the elephant in the middle of the room: the language has a real engineering defisciency if it is possible for people to think that there is no better way to use it than to do   "we have around 50+ packages. This list grows very fast" (http://docs.zewo.io - many more swift github projects are equally struggling to get the code organized).
>> At the moment the only thing preventing the situation from getting more out of hands is that the import mechanism currently gets in the way, but the only opinions I read so far all focussed on making it even easier to slap things together ala zewo rather than address the engineering issue.
> It would be helpful if you could do two things:
> 1. Be clear about exactly what you think is wrong and, preferably, how you think we might be able to solve it, or at least what sorts of problems you want the solution to address. Reading this post, I'm not sure what you find objectionable about this project containing 50 packages or what "situation" you think is getting out of hand. Even if you have a good point, you're not making it very well.

I am assuming that you have been doing professional software development for a long time, worked with 10s of developers in dozens of teams, using objc, swift, and many more languages. I think it is safe to assume you spent a great deal of time reading the compiler (and llvm's) source code since it became open source, and considering how regularly you refer to what others need or use, I also took for granted that you have read the code for a great deal of open-source projects in all sorts of languages. Having assumed this as your background, you might appreciate why I thought we might be able to skip of few steps.

> 2. Post about your issue in a new thread rather than trying to derail something *entirely* unrelated to it. I'm not sure exactly what your complaint is, but I gather it has something to do with package management, modules, or imports. None of these have anything to do with higher-kinded types, the type system, or (as far as I can tell) anything that has ever been discussed in this thread. The result is rather like interrupting a charity drive for the local children's hospital to tell people that actually, they really *ought* to be donating to your mosquito-net charity instead. Even if you're correct that your cause is more important, it's inappropriate, unwelcome, and frankly just rude.

I can appreciate your view. And maybe you can equally appreciate how plain surreal parts of this thread and a few others might appear when put in perspective with some of what I, undoubtedly
wrongly, perceive as elephants in the room. 

More information about the swift-evolution mailing list