
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