<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Hi.</div><div class="gmail_quote"><br></div><div class="gmail_quote">On Wed, Mar 29, 2017 at 12:58 PM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Hannes,<div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Wed, Mar 29, 2017 at 8:45 AM, H. Hirzel <span dir="ltr"><<a href="mailto:hannes.hirzel@gmail.com" target="_blank">hannes.hirzel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi Chris,<br>
<span class="m_7799245918470794014gmail-"><br>
On 3/29/17, Chris Cunningham <<a href="mailto:cunningham.cb@gmail.com" target="_blank">cunningham.cb@gmail.com</a>> wrote:<br>
> Hi,</span></blockquote></span></div></div></div></blockquote><div><snip></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span class="m_7799245918470794014gmail-">The kind of thinking which restricts the system, such as adding methods that logically belong to SequenceableCollection to, say, String, simply because the programmer wanted a String method and didn't think about generality, is at best regrettable.</span></blockquote></span></div></div></div></blockquote><div>I've been guilty of this in the past, and probably will in the future, but I try not to be. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> </blockquote></span></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span class="m_7799245918470794014gmail-"></span></blockquote></span><span class=""><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span class="m_7799245918470794014gmail-">> A better question is should I be using Rectangle for this.  Maybe we should<br>
> create a 'TrueRectangle' class or something similar so that we can actually<br>
> talk about and share what can really be done with rectangles, instead of<br>
> the 'ScreenRectangle' that we have today called Rectangle.<br></span></blockquote><div><br></div></span><div>Why not the other way around? Add IntegralRectangle and have it specialize Rectangle.</div><div><div class="h5"><div> </div></div></div></div></div></div></blockquote><div>Let me re-state what I think you are saying, and please correct me if I am wrong.</div><div> </div><div>Make Rectangle more generic, and for instance, have the method #center:extent: use #/ instead of #//.</div><div>Then, have a new class, IntegralRectangle, that re-implements that method and sends #// to ensure that the extents are integral.</div><div>(and in general do whatever else is needed to relax Rectangle, and tighten up IntegralRectangle).</div><div><br></div><div>Right?</div><div><br></div><div>If so, the main reason not to do proceed is that Rectangle is used extensively in the system for today, and we'd have to replace those uses with IntegralRectangle, not to mention all of the indirect uses (such as #corner: that you used above, and make variants creating IntegralRectangle and generic Rectangle, or otherwise resolve those ambiguities).</div><div><br></div><div>That said, I'm all for it.  I'd like a less strict Rectangle for, well, Rectangle uses.</div><div><br></div><div>As a side note, if you look up Integral Rectangle in Google, you'll fine lots of discussions that have nothing to do with this question.  But Integral (integer) and Rectangle make perfect sense here in any case.</div><div><br></div><div>-cbc</div></div></div></div>