Dconf 2015 talks...

Joseph Rushton Wakeling via Digitalmars-d digitalmars-d at puremagic.com
Mon Jan 25 09:19:05 PST 2016


On Monday, 25 January 2016 at 15:38:45 UTC, Era Scarecrow wrote:
>  Hmm i wonder... If recognizes it as infinite, could it avoid 
> treating them as forward ranges? As a struct it still wouldn't 
> work, but as a class/reference type it would work then...

They shouldn't be forward ranges anyway, because if their content 
is randomly generated then it's not legit for them to implement 
the .save property.  The whole implementation of stuff in 
std.random via forward ranges is a massive design mistake.

Implementing the random algorithms/other wrappers as a class is 
problematic because then you get into the hassle of potentially 
having to new/free a lot of individual heap objects deep in the 
inner loop of your program.  I already tried this in hap.random, 
and came to the conclusion that it wasn't a valid approach.


More information about the Digitalmars-d mailing list