<br><br><div class="gmail_quote">On Fri, Apr 22, 2011 at 10:11 AM, Steve Schveighoffer<span dir="ltr"></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div style="color:#000;background-color:#fff;font-family:arial, helvetica, sans-serif;font-size:12pt">
<div>In this case, it's not actually the
 library designer, but the user of the library that is deciding the 
semantics.  Big difference, and my huge problem with D's properties.</div>

<div><br>
</div>

<div>With strict properties, the power is to the library designer to 
decide on semantics.  With loose properties, it's to the user.  You can 
think you are creating a usable API, but it's still possible to abuse 
it.</div>

<div><br>
</div>

<div>In other words, loose properties prevents *my* designs, even if it 
makes *your* usage possible.  Note that it's your usage, *not* your design 
that you are enforcing.  The API is beyond your control since the user 
is free to call however he/she wants.</div>

<div><br>
</div>

<div>So I think the language shouldn't hinder the library author's designs in favor of the caller abusing usage.<br>
</div>

<div><br>
</div>

<div>-Steve<br></div>
</div></div><br>_______________________________________________<br>
phobos mailing list<br>
<a href="mailto:phobos@puremagic.com">phobos@puremagic.com</a><br>
<a href="http://lists.puremagic.com/mailman/listinfo/phobos" target="_blank">http://lists.puremagic.com/mailman/listinfo/phobos</a><br></blockquote></div><br>If you look at it this way, then I fail to see the problem with a little abuse.  The library designer doesn't have to read the caller's code.  Why should he/she care if the API is being abused a little?<br>