dcollections 1.0 and 2.0a beta released

Graham Fawcett fawcett at uwindsor.ca
Wed May 19 13:27:17 PDT 2010


Hi Steven,

On Wed, 19 May 2010 12:09:11 -0400, Steven Schveighoffer wrote:

> After much work and toil, I have created dcollections for D2.  I think I
> can say that this is the first collection package available for D2.  I
> still hold hope that it will be used as the standard collection package
> for phobos for D2.

Cool!

In case anyone's interested, I tried out dcollections using my very
alpha 'd-build' script, and it works just fine:

http://github.com/gmfawcett/d-build/tree/dcollections-test

tarball of the dcollections test branch:
http://github.com/gmfawcett/d-build/tarball/dcollections-test

Checking out the 'dcollections-test' branch of that git project, you
should be able to just run './d-build test.d' and it will first
download dcollections and then compile it along with the test program.
There are several limitations; see the README for details.

There's a long way to go before d-build is more than a toy. But I'd
like to keep it on people's radars, and am interested in your thoughts
and feedback. See the "envy for go packages" threads on this list for
context.

Regards,
Graham


> 
> Please visit http://www.dsource.org/projects/dcollections for details.
> 
> Some VERY IMPORTANT notes for this release:
> 
> 1. it is very beta software.  Although the implementation has changed
> very little from the 1.0 version, not everything will properly compile. 
> I have filed several compiler bugs to fix some problems I had while
> porting, and inserted workarounds for things I could work around. 
> Please use the LATEST compiler (currently 2.046) because some very
> important features have been added that dcollections relies on. 
> Although it is beta, the algorithms and implementation is largely
> unchanged so functionality should be pretty solid.
> 
> 2. the docs are not online for d2.  Unfortunately, dsource's
> auto-doc-generator that I was using for the 1.0 version is based on a
> 1.0 compiler, so it will not automatically generate the d2 docs. 
> However, I have included some basic ddoc generated docs in the download
> package, don't expect them to be very fun to use :)
> 
> 3. The docs are not fully updated, so they might be just flat out wrong!
> I plan to update the docs completely for the next beta release.
> 
> So, for the good stuff... here are some notes for differences between
> 1.0 and 2.0:
> 
>      * Ranges!
>      * Filled out slicing for all containers * Cursors are now
>      non-movable.  Use ranges for safe iteration. * The interfaces have
>      been cut down significantly. The question I
> asked myself when deciding whether I wanted to keep an interface is
> "would anyone use this interface?"
>      * Functions that should be fast but can be slow (O(n)) have been
> removed from all interfaces, and in most cases, from the containers.
> Notably missing is searching a non-quick lookup container for a value.
> Use std.algorithm.find for that.
>      * ArrayMultiset has been removed -- it's complexity functions did
>      not
> fit with the multiset requirements (specifically, quick lookup of an
> element's presence).
>      * ArrayList slicing now simply returns a range instead of a "live"
> slice.  Note that an ArrayList range is aliased to a D array.
>      * Full unit tests added for all container types.
> 
> I have also changed the license from BSD to Boost.
> 
> 
> --------
> 
> I have also formally released version 0.03 as version 1.0, nothing has
> changed there, including the license.  However, no new features will be
> added to dcollections version 1.0, only bug fixes will be done.
> 
> Please, file tickets on dsource for any problems you have.  And let me
> know if there are any ideas you think would be useful.
> 
> -Steve



More information about the Digitalmars-d-announce mailing list