Soliciting comments on Edison

Ross Paterson ross@soi.city.ac.uk
Thu, 29 May 2003 13:25:10 +0100


On Thu, May 29, 2003 at 03:39:11PM +1000, Andrew J Bromage wrote:
> As some of you know, I'm hacking up Edison.  I'd like some suggestions
> on namespace issues.  Note that at the moment, "Edison" has its own
> top-level name in the libraries document, and I'm happy for things
> to stay that way for now.

I'm not sure that the separate top-level name is justified.  It will,
presumably, be a separate package.  I'd prefer to have it under Data,
with subhierarchies Data.Association, Data.Collection and Data.Sequence.
(Ideally Data.FiniteMap and Data.HashTable would get consistent names
too.)  That's just for the existing Edison structure.

> The main feature of Edison which distinguishes it from other data
> structure libraries is that you do not choose data structures by the
> set of operations which you can perform on them because, for example,
> all Sequences support the same set of operations.  Instead, you pick
> your data structure by implementation, and live with the fact that
> some operations are going to be slow on some implementations (e.g. snoc
> on simple lists is O(n)).

Isn't it the other way round -- you write a program using certain
operations, and then pick an implementation in which those operations
are fast?  But things like Data.Queue would also be useful.