Re: Is anyone hacking on druntime in a widespread fashion at themoment?
Kevin Cox kevincox...@gmail.com wrote in message news:mailman.1599.1334099575.4860.digitalmar...@puremagic.com... I was wondering why they could not be implied from the code itself. That question comes up a lot. The thing is, that would completely defeat the point. The point is that you want the compiler to *guarantee* that certain specific functions are pure/@safe/const/nothrow, etc. If you make a change that prevents a function from being pure/@safe/const/nothrow, and the compiler just simply accepted it and internally considered it non-pure/non-whatever, then you haven't gained anything at all. It'd be no different from not even having any pure/@safe/const/nothrow system in the first place. At *best* it would just be a few optimizations here and there. But if the compiler tells you, Hey, you said you wanted this function to be pure/whatever, but you're doing X which prevents that, then you can actually *fix* the problem and go make it pure/whatever.
Re: Is anyone hacking on druntime in a widespread fashion at themoment?
On Apr 11, 2012 4:14 PM, Nick Sabalausky seewebsitetocontac...@semitwist.com wrote: Kevin Cox kevincox...@gmail.com wrote in message news:mailman.1599.1334099575.4860.digitalmar...@puremagic.com... I was wondering why they could not be implied from the code itself. That question comes up a lot. The thing is, that would completely defeat the point. The point is that you want the compiler to *guarantee* that certain specific functions are pure/@safe/const/nothrow, etc. If you make a change that prevents a function from being pure/@safe/const/nothrow, and the compiler just simply accepted it and internally considered it non-pure/non-whatever, then you haven't gained anything at all. It'd be no different from not even having any pure/@safe/const/nothrow system in the first place. At *best* it would just be a few optimizations here and there. But if the compiler tells you, Hey, you said you wanted this function to be pure/whatever, but you're doing X which prevents that, then you can actually *fix* the problem and go make it pure/whatever. Makes sense.
Re: Is anyone hacking on druntime in a widespread fashion at themoment?
* Nick Sabalausky seewebsitetocontac...@semitwist.com [2012-04-11 16:08:05 -0400]: Kevin Cox kevincox...@gmail.com wrote in message news:mailman.1599.1334099575.4860.digitalmar...@puremagic.com... I was wondering why they could not be implied from the code itself. That question comes up a lot. The thing is, that would completely defeat the point. The point is that you want the compiler to *guarantee* that certain specific functions are pure/@safe/const/nothrow, etc. If you make a change that prevents a function from being pure/@safe/const/nothrow, and the compiler just simply accepted it and internally considered it non-pure/non-whatever, then you haven't gained anything at all. It'd be no different from not even having any pure/@safe/const/nothrow system in the first place. At *best* it would just be a few optimizations here and there. But if the compiler tells you, Hey, you said you wanted this function to be pure/whatever, but you're doing X which prevents that, then you can actually *fix* the problem and go make it pure/whatever. At any rate, inference would probably end up being more trouble than its worth, or as you said, useless. Me: I know this function can throw Compiler: But I don't think so, so I'm gonna mark it nothrow Me: No! You idiot! Compiler: Herp-Derp, code-breaking optimization based on incorrect assumptions Me: FUU I don't trust computers, I've spent too long programming to think that they can get anything right. -- James Miller