On 25 November 2012 01:24, Vladimir Panteleev <span dir="ltr"><<a href="mailto:vladimir@thecybershadow.net" target="_blank">vladimir@thecybershadow.net</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Saturday, 24 November 2012 at 23:11:35 UTC, Manu wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
On 24 November 2012 23:36, Vladimir Panteleev<br>
<<a href="mailto:vladimir@thecybershadow.net" target="_blank">vladimir@thecybershadow.net</a>><u></u>wrote:<br>
<br>
</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Saturday, 24 November 2012 at 18:49:02 UTC, Manu wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hear hear! I agree, it should just be cloned verbatim.<br>
I for one have 15+ years of expectation about WINAPI, I don't want to look<br>
in any manual/reference to relearn how to use it again.<br>
<br>
</blockquote>
<br>
This sentiment is overexaggerated and unhelpful. Please provide an example<br>
of what sorts of "relearning" you'd have to do.<br>
<br>
</blockquote>
<br></div></div><div class="im">
I'm simply stating my sentiment that ANY change to WIN32 is a very very bad idea.<br>
</div></blockquote>
<br>
Reasoning in absolutes is not constructive.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It invalidates existing code, and existing learning/reference material.<br>
</blockquote>
<br></div>
Please provide a concrete example.</blockquote><div><br></div><div>The only 2 significant changes I'm aware of are the HANDLE question, and the A/W aliases.</div><div><br></div><div>A/W aliases for reasons I've states in numerous places elsewhere, and the HANDLE ones I don't have such a strong opinion on, but it would be a shame to see errors appearing in code that compiles in C, anyone referencing that material might wonder what's going on.</div>
<div>Enforcing strict type-safety on handle types is not something WIN32 does, and therefore not something D should attempt to do either. It's just an alias for void* in C, and I see no problem with that.</div><div><br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Not to mention how many programmers don't even know what unicode is (ie, the A/W alias argument).<br>
</blockquote>
<br></div>
I don't understand how this is relevant to this discussion.</blockquote><div><br></div><div>Well it's one of the changes in the existing implementation which I totally disagree with, for the reasons stated.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
'Relearning' in this instance might refer to learning/remembering what<br>
changes have been made.<br>
</blockquote>
<br></div>
Part of the goal is to minimize required changes in correct code. Even in those cases (assuming they will even exist), the compiler will produce a helpful error message (e.g expected type void*, got HGLOBAL). The code can be easily fixed in a backwards-compatible way by adding a cast.<br>

</blockquote><div><br></div><div>WIN32 has a heap of these HSOMETHING types, and they're all implicitly convertible to HANDLE and should remain that way. Many functions receive HANDLE's which it expects may be of any type. The Wait* suite of functions for instance wait on basically anything.</div>
<div><br></div><div>I'd be interested to hear arguments why you think any changes of any sort should be made to a well established API that's decades old?<br></div></div></div>