
19 Jun
2007
19 Jun
'07
12:36 p.m.
On 6/19/07, Thomas Shackell
Neil Mitchell wrote:
Perhaps:
packString x = sum (map ord x) `seq` x
Will give you what you need. That function should have the same strictness as the original packString.
Or alternatively the slightly less evil
packString x = foldr (\ y ys -> y `seq` y : ys) [] x
I tried this latter one & I tried ByteString.Char8 and both of them failed the same ways that the basic String did. Apparently PackedString is a strange duck.