[Haskell] Re: ANNOUNCE: FPS - FastPackedStrings 0.2
Donald Bruce Stewart
dons at cse.unsw.edu.au
Thu Apr 20 05:24:18 EDT 2006
Moved to libraries@
tomasz.zielonka:
>
> And a String class would allow typing FastPackedString literals directly.
On this last matter, you can almost do it:
FPS.packAddress "haskell"#
or
FPS.unsafePackAddress 7 "haskell"#
The latter is an O(1) op, the former performs a strlen on construction.
And with the magic RULE, you get:
{-# RULES
"pack/packAddress" forall s# .
pack (unpackCString# s#) = packAddress s#
#-}
such that:
FPS.pack "haskell"
usually gives you the right thing. Ideally I'd like a way to get the strlen
from the compiler, to make O(1) packAddress using
-- Don
More information about the Libraries
mailing list