Ola Fosheim Grøstad:
On Sunday, 13 July 2014 at 20:55:25 UTC, bearophile wrote:
D doesn't carry the range of mutable variables across
different expressions.
What is the reasoning behind this kind of special-casing?
Compiler simplicity and to avoid flow analysis. The value range
is kept acr
On Sunday, 13 July 2014 at 20:55:25 UTC, bearophile wrote:
D doesn't carry the range of mutable variables across different
expressions.
What is the reasoning behind this kind of special-casing?
Meta:
It seems that not even that is the case.
void main()
{
uint n = 0;
//Error
bool b = n;
}
D doesn't carry the range of mutable variables across different
expressions.
So write (with the 2.066beta3):
void main() {
const uint x1 = 0;
const uint x2 = 1;
On Sunday, 13 July 2014 at 19:06:29 UTC, Timon Gehr wrote:
On 07/13/2014 08:51 PM, Meta wrote:
That's weird, I always assumed this worked. Was it always the
case that
numeric types can't be implicitly casted to bool?
Yes, unless their range fits into [0,2).
It seems that not even that is
On 07/13/2014 08:51 PM, Meta wrote:
That's weird, I always assumed this worked. Was it always the case that
numeric types can't be implicitly casted to bool?
Yes, unless their range fits into [0,2).
On Sunday, 13 July 2014 at 11:18:05 UTC, bearophile wrote:
The idea of not making std.algorithm.among!() a predicate was
not so good:
void main() {
import std.stdio, std.algorithm;
auto s = "hello how\nare you";
s.until!(c => c.among!('\n', '\r')).
Timon Gehr:
I am saying the following code implementing 'until' in
std.algorithm is at fault:
private bool predSatisfied() // <-- don't say bool here
{
static if (is(Sentinel == void))
return unaryFun!pred(_input.front); // or cast here
else
retu
On 07/13/2014 03:09 PM, bearophile wrote:
Timon Gehr:
It works with filter, so I think it should just work with until as well.
So do you suggest me to open a bug report where I ask "among" to return
a bool, or do you suggest to ask for an enhancement of "until", or what?
Bye,
bearophile
I
Timon Gehr:
It works with filter, so I think it should just work with until
as well.
So do you suggest me to open a bug report where I ask "among" to
return a bool, or do you suggest to ask for an enhancement of
"until", or what?
Bye,
bearophile
On 07/13/2014 01:18 PM, bearophile wrote:
The idea of not making std.algorithm.among!() a predicate was not so good:
...
Agreed.
void main() {
import std.stdio, std.algorithm;
auto s = "hello how\nare you";
s.until!(c => c.among!('\n', '\r')).
On Sunday, 13 July 2014 at 11:18:05 UTC, bearophile wrote:
The idea of not making std.algorithm.among!() a predicate was
not so good:
void main() {
import std.stdio, std.algorithm;
auto s = "hello how\nare you";
s.until!(c => c.among!('\n', '\r')).
The idea of not making std.algorithm.among!() a predicate was not
so good:
void main() {
import std.stdio, std.algorithm;
auto s = "hello how\nare you";
s.until!(c => c.among!('\n', '\r')).writeln;
}
(A normal workaround is to use !!c.among!).
Bye,
bearophile
12 matches
Mail list logo