<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">If you replace “conjunction” by “O(n) search with early-exit on failure” and “disjunction” by just “O(n) search”, you’ll see why this can lead to computationally painful systems of constraints. Each disjunctive constraint may further contain or create disjunctions ad nauseum, each time incrementing the exponent in the worst-case time it takes to solve the system. Introduction of disjunction into an already complex system (say, one that supports constrained parametric polymorphism and subtyping AND disjunctions through overloads) makes an already difficult problem even harder.<div><br><div id="AppleMailSignature">~Robert Widmann </div><div><br>2018/01/13 4:45、Daryle Walker via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>>のメール:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div class="">From <<a href="https://github.com/apple/swift-evolution/blob/master/commonly_proposed.md#miscellaneous" class="">https://github.com/apple/swift-evolution/blob/master/commonly_proposed.md#miscellaneous</a>>.</div><div class=""><br class=""></div><div class="">Maybe I’m not up on my Type Theory, but why should type constraint disjunctions be banned?</div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">— </div><div class="">Daryle Walker<br class="">Mac, Internet, and Video Game Junkie<br class="">darylew AT mac DOT com </div></div>
</div>
<br class=""></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></div></body></html>