On Tuesday, 28 May 2013 at 10:41:46 UTC, Russel Winder wrote:
Is this a symptom of Phobos being predicated on hardware data
types? If
so there is a mass of applications out there that D cannot
handle
sensible (unlike Python (especially SciPy), Julia, R, Matlab,
Mathematica, etc.
I think it is a problem is that iota is over parametrize-able.
iota can takes a lower bound (B), and upper bound (E), and a step
(S), and returns a value (R).
The problem is that none of these parameters actually need to be
the same. This forces the code to have to mess with things like
"CommonType", which it really wouldn't have to if the only
parameter(s) where "Type" and "Step".
The none-step version only requires that Type be incrementable,
and the Step one needs to support "Type+=Step" (which returns
type "Type")
Also: iota doesn't work with chars:
iota('k', 't'); //Nope.
Technically, the types don't even need to be "integer-like": as
long as ++ or += works, it's all good.