Do we need Win95/98/Me support?

Walter Bright newshound2 at digitalmars.com
Sun Jan 22 23:31:25 PST 2012


On 1/22/2012 11:08 PM, Jonathan M Davis wrote:
> That happens anyway, because Phobos doesn't use .di files.

Phobos should use much more .di files. This will become more and more of an 
issue over time, as Phobos grows in complexity. We shouldn't preclude .di files.


> Aside from the toMBSz issue, templatizing them costs essentially nothing on
> the implementation side and yet enables the programmer to pass in whatever
> string type they want.

Phobos1 had the secant and cosecant functions, which were dumped for Phobos2. 
You could make exactly the same argument for them. It is an insufficient rationale.

Phobos functions should do non-trivial things. It should not become an 
aggregation of trivia.


> The only issue is that if you were using a .di file
> (which we're not, and won't, because it kills inlining and CTFE - though
> neither affects std.file much), you'd then have to have the implementation in
> the .di file whereas currently you don't.

I agree that inlining and CTFE is a complete non-issue for std.file. It is not 
the reason that std.file is not a .di file - the reason is that nobody bothered 
to do the work to make it one. It should be one.


> Now, I don't think that it's all that big a deal that you have to convert
> whatever string type you're using to string to pass to functions in std.file,
> but I pretty always use string anyway. Other folks have complained in the
> newsgroup about the fact that Phobos functions generally force them to use
> string specifically.

Nobody is forced to use string. Just do a trivial conversion on calling the 
function. I emphasize trivial. A phobos function is even provided to do that - 
to!(string)(arg).

Note that std.regex is templatized on the string type. This is necessary because 
regex performance is critical. This rationale does not apply to std.file.


More information about the Digitalmars-d mailing list