[Haskell-cafe] An alternative break
philip.weaver at gmail.com
Wed May 28 17:56:35 EDT 2008
On Wed, May 28, 2008 at 2:53 PM, Pieter Laeremans <pieter at laeremans.org> wrote:
> I need a break function that splits the list one element further than
> the ordinary break.
> This is the simplest solution I could imagine:
> breakI :: (a -> Bool) -> [a] -> ([a], [a])
> breakI p s = case break p s of
> (, ) -> (, )
> (x, ) -> (x, )
> (x, l) -> (x ++ [head l], tail l )
> Is there a better way to write this ?
Your first two cases are redundant; you can eliminate the first one.
Other than that, it looks fine.
> thanks in advance,
> Pieter Laeremans <pieter at laeremans.org>
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe