[swift-evolution] [Pitch/plea] Recursive protocol constraints

Douglas Gregor dgregor at apple.com
Thu Jan 5 00:35:48 CST 2017


> On Jan 2, 2017, at 1:03 PM, Dave Abrahams via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
> on Mon Jan 02 2017, Austin Zheng <austinzheng-AT-gmail.com <http://austinzheng-at-gmail.com/>> wrote:
>> Anyone who wants to help, by the way, is more than welcome to; I'm happy to
>> take PRs or just even a message describing what needs to change, and I'd of
>> course add you to the authors list...
>> 
>> Regarding "valid" recursive constraints breaking the compiler: it was a
>> reference to something Doug said in his original email:
>> 
>>> I also have a nagging feeling that we will need some form of
>>> restrictions on this feature for implementation reasons, e.g.,
>>> because some recursive constraints will form unsolvable systems.
> 
> I wouldn't concern myself much with such vague fears-and-doubts if I
> were you.  Consider that unsolvable systems would be a *fundamental*
> reason for needing restrictions, rather than an implementation reason.
> If we discover such a scenario, we'll deal with it.  My intuition is
> that any such unsolvable systems will fall under the rubric of
> ambiguities, so the restriction will be something like “don't make
> something ambiguous.”


Yeah, Dave’s right about my vague fears. If they are actual problems, we can amend the proposal with any additional restrictions that come up. My apologies if I sent you down a wrong path!

Thank you for working on this! I left a few comments on the commits as well, but the proposal is looking good!

	- Doug

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170104/093a7d61/attachment.html>


More information about the swift-evolution mailing list