Proposal: Add split and splitWith (trac #2048)
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Thu Jan 17 17:28:32 EST 2008
On Thu, 2008-01-17 at 17:36 +0100, Christian Maeder wrote:
> Ian Lynagh wrote:
> > One or the other should be changed so that these agree:
> >
> > *Main> split 'a' ""
> > [""]
> > *Main> Data.ByteString.Char8.split 'a' (Data.ByteString.Char8.pack "")
> > Loading package array-0.1.0.0 ... linking ... done.
> > Loading package bytestring-0.9.0.1 ... linking ... done.
> > []
> >
> > although I couldn't say which is "right" OTTOMH...
>
> I've convinced myself (see my previous mails) that Twan's version is
> right and Data.ByteString.Char8.split should be changed (and all its
> usages need to be checked)!
>
> The documentation in both modules should contain the example!
> split c [] == [[]]
>
> I don't think that the oddity of Data.ByteString.Char8.split on empty
> input helps to establish the treatment of a missing final newline for
> the lines function.
If everyone thinks this is the right behaviour we can certainly change
Data.ByteString to follow. It is supposed to follow the Data.List api.
Duncan
More information about the Libraries
mailing list