[Haskell-cafe] Array, Vector, Bytestring

Tom Ellis tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk
Wed Jun 5 00:00:45 CEST 2013


On Tue, Jun 04, 2013 at 11:23:16PM +0200, Peter Simons wrote:
>  > On Tue, Jun 04, 2013 at 04:01:37PM +0200, Peter Simons wrote:
>  >>  > If you're representing text, use 'text'.
>  >>  > If you're representing a string of bytes, use 'bytestring'.
>  >>  > If you want an "array" of values, think c++ and use 'vector'.
>  >>
>  >> the problem is that all those packages implement the exact same data
>  >> type from scratch, instead of re-using an implementation of a
>  >> general-purpose array internally. That is hardly desirable, nor is it
>  >> necessary.
>  >
>  > Just to clarify for those on the sidelines, the issue is duplication of
>  > implementation details, rather than duplication of functionality?
> 
> I am not sure what the terms "duplication of implementation details" and
> "duplication of functionality" mean in this context. Could you please
> explain how these two concepts differ in your opinion?

Hi Peter,

When I say "duplication of implementation details" I believe I mean
something like your implementing "the exact same data type from scratch".

By "duplication of functionality", on the other hand, I mean providing two
libraries with similar APIs which essentially serve the same purpose.

I believe you are suggesting that there is redundancy in the implementation
details of these libraries, not in the APIs they expose.  Then again, I was
just trying to understand the discussion at hand.  I don't have an opinion
on it.

Tom



More information about the Haskell-Cafe mailing list