GSoC-2011 project:: Containers

Lutger Blijdestijn lutger.blijdestijn at gmail.com
Sat Mar 26 08:33:44 PDT 2011


Ishan Thilina wrote:

> @ steve & Johannes: Yeah, it works for me now :). I informed the site
> owners about this and he has rectified it :)
> 
> @Denis:
> 
>>You are right, indeed. To say it shortly, ranges are D's version of
>>iterators or
> generators, especially powerful and general. With its own set of issues
> (somewhat
>>complicated, rather opaque types, various bugs remaining), but globally
>>extremely
> useful and usable. Most of Phobos2 (the std lib) builds on ranges; this
> applies even >more to collections: if you wish to implement new
> collections for D, it is certainly required that they hold range factories
> for iteration. Sometimes, more than one (eg >tree traversal breadth-first
> vs depth-first, leaves only...).
>>
>>About D collections: aside std.container in Phobos, Steven Schweighoffer
>>has a
> fairly advanced project called dcollections:
> http://www.dsource.org/projects>/dcollections. As I understand it, it is a
> bit of a concurrent for std.container, but there seems to be a possibility
> for them to converge in the future. In >any case, >you should definitely
> study it, if only to take inspiration and avoid double work.
>>
>>Use the D learn mailing list to ask people for help in understanding D's
>>more
> advanced features and issues.
>>
>>Denis
>>--
> 
> Thank you very much for that helpful answer.
> The biggest challenge now i have is to find good resources to learn about
> ranges. Any suggestions ?

Boostcon 2009 talk 'iterators must go' also recommended: 
http://blip.tv/file/2432106

The docs and sourcecode of std.range and std.algorithm is most relevant 
though, and this newsgroup or .learn for discussion and questions.

> I'll look at the dcollections. I didn't know such a thing existed. It will
> be a great help for me :).



More information about the Digitalmars-d mailing list