One other name I've heard used, pretty much ever since the dos days when the 16 character fixed sized keyboard buffer was the first instance of such a structure I'd seen, was a 'ring buffer'. Data.RingBuffer perhaps? I agree that Data.Ring is a terrible name, partially because I already have a Data.Ring in the monoids package!

-Edward Kmett

On Sat, Jan 16, 2010 at 1:40 PM, Henning Thielemann <schlepptop@henning-thielemann.de> wrote:
wren ng thornton schrieb:

Tom Tobin wrote:
----- Heinrich Apfelmus <apfelmus@quantentunnel.de> wrote:
Since the name  Ring  is already taken by an ubiquitous mathematical
structure, and thus already in hackage for example as  Algebra.Ring  in
the  numeric-prelude , I suggest to call the data structure  Necklace
instead.

Is Necklace a known name for this data structure?  If not Ring, I was
thinking Circular might be an appropriate name.

I'm not sure if there's a canonical name, except perhaps "circular queue". Necklace is cute, though Circular or CircleQueue might be better. I'd also advise strongly against using Ring in order to avoid confusing nomenclature. (Loop should be avoided for similar reasons.)
When reading "Ring" first time in the e-mail subject, I also thought it would be about the algebraic structure with that name.

CircularList seems fine to me. Necklace is nice but might be missed when someone searches for that data structure on Hackage.


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe