-- | -- -- Maintainer: Elliott Hird -- Stability: experimental -- Portability: non-portable (glibc only) -- -- The @String@-based interface to @strfry@. module Acme.Strfry.String ( strfry ) where import Control.Monad import Foreign.C.String import Acme.Strfry.Foreign -- | @strfry s@ returns a pseudorandom anagram of @s@. For more -- information, consult the glibc manual: -- -- -- This interface is based on @String@, and is likely to behave -- unpredictably on codepoints above 255. The @ByteString@-based -- interface in "Acme.Strfry.ByteString" is recommended for serious use. strfry :: String -> IO String strfry s = withCString s (c_strfry >=> peekCString)