Stupid little iota of an idea

bearophile bearophileHUGS at lycos.com
Wed Feb 9 03:46:11 PST 2011


%u:

> can you maybe explain what it exactly means?
> And, also how it relates to your enhancement?

In programming languages it means features that have fully separated purposes, that can be combined together in clean and safe ways to create more complex functionalities. Combining in "clean and safe ways" means they don't have unwanted interactions, their lower level nature is sufficiently encapsulated and doesn't leak out too much, so their sub-systems are mostly sealed, if you want to see it with systems theory ideas.

In the current discussion foreach(i;iota(5)) and foreach(i;0..5) are usable for the same purpose, so those two "features" don't have fully separated purposes. On the other hand you can't use 0..5 where you want a lazy range:
auto r = 0 .. 5;
You need to us iota:
auto r = iota(0, 5);
So the 0..5 can't be combined to many other language functionalities to produce something bigger.
This is why several people have asked for a more orthogonal interval syntax in D.

Bye,
bearophile


More information about the Digitalmars-d mailing list