On Jan 13, 2006, at 4:35 PM, Jon Fairbairn wrote:
On 2006-01-13 at 13:32PST Jared Updike wrote:
That works except it loses single newline characters.
let s = "1234\n5678\n\nabcdefghijklmnopq\n\n,,.,.,."
Prelude> blocks s
["12345678","abcdefghijklmnopq",",,.,.,."]
Also the argument to groupBy ought to be some sort of
equivalence relation.
Humm, still not reflexive. You need xor.
blocks = map unlines
. filter (all $ not . null)
. groupBy (\a b -> not (null b|| null a))
. lines
... but that suffers from the somewhat questionable
properties of lines and unlines.
-- Jón Fairbairn Jon.Fairbairn at
cl.cam.ac.uk
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Rob Dockins
Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
-- TMBG
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe