www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: Dithering about ranges

reply Steve Teale <steve.teale britseyeview.com> writes:
Andrei Alexandrescu Wrote:

 I don't quite understand this. Ranges are a very simple abstraction for 
 iteration. They show how other iteration abstractions either were too 
 unsafe and verbose (C++/STL) or too bare-bones (C# iterators, Java 
 iterators, singly-linked lists used by functional languages), so in that 
 regard I think they hit the spot pretty nicely. Ranges are useful, but 
 hardly a be-all end-all. Thinking of building an application entirely of 
 ranges... I can't quite parse that.
 
 
 Andrei

Andrei, I'm still waiting to read the definitive article about ranges. Does this exist at present? It's nice to have something like an RFC, not just a new version of a standard library without warning, and just depend on the comments. As Walter has I think said, comments always lie! Steve
May 22 2009
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Steve Teale wrote:
 Andrei Alexandrescu Wrote:
 
 I don't quite understand this. Ranges are a very simple abstraction
 for iteration. They show how other iteration abstractions either
 were too unsafe and verbose (C++/STL) or too bare-bones (C#
 iterators, Java iterators, singly-linked lists used by functional
 languages), so in that regard I think they hit the spot pretty
 nicely. Ranges are useful, but hardly a be-all end-all. Thinking of
 building an application entirely of ranges... I can't quite parse
 that.
 
 
 Andrei

Andrei, I'm still waiting to read the definitive article about ranges. Does this exist at present? It's nice to have something like an RFC, not just a new version of a standard library without warning, and just depend on the comments. As Walter has I think said, comments always lie! Steve

Other people have explained this once, but allow me to repeat. There was a lengthy RFC period with discussions on the announce group entitled "RFC on range design for D2" supported by a document. That document has been since superseded by the implementation documentation which, aside from a few issues described by Steve in bug #3017, contains everything you need to define and use ranges effectively. There was a lengthy "warning breaking changes coming" period, to the extent that some people on the group got tired of it. If you are interested in ranges, the one thing you shouldn't be doing is to wait for a tutorial written by yours truly. What you could be doing in little more than the time it takes to write a long post (ahem) would be to grok ranges yourself and write a solid tutorial about ranges in a blog, web page, or online magazine. They are deceptively simple and can be composed in very interesting ways. Waiting for something from Walter or myself is not the pattern to be in. Shin, Don, Jarrett, David, and others are doing great stuff, and incidentally don't whine as much (except for Jarrett -- squeaky wheel gets the K-Y). Andrei
May 22 2009