Safe Haskell | None |
---|---|
Language | Haskell2010 |
AtomString atomises strings. Right now this code is not very efficient but it shouldn't be too hard to improve.
This code includes no less that 3 uses of unsafePerformIO. Oh well.
Documentation
data AtomString Source #
Instances
Eq AtomString Source # | |
Defined in Util.AtomString (==) :: AtomString -> AtomString -> Bool # (/=) :: AtomString -> AtomString -> Bool # | |
Ord AtomString Source # | |
Defined in Util.AtomString compare :: AtomString -> AtomString -> Ordering # (<) :: AtomString -> AtomString -> Bool # (<=) :: AtomString -> AtomString -> Bool # (>) :: AtomString -> AtomString -> Bool # (>=) :: AtomString -> AtomString -> Bool # max :: AtomString -> AtomString -> AtomString # min :: AtomString -> AtomString -> AtomString # | |
StringClass AtomString Source # | |
Defined in Util.AtomString toString :: AtomString -> String Source # fromString :: String -> AtomString Source # fromStringWE :: String -> WithError AtomString Source # |
class StringClass stringClass where Source #
toString :: stringClass -> String Source #
fromString :: String -> stringClass Source #
fromStringWE :: String -> WithError stringClass Source #
Instances
StringClass AtomString Source # | |
Defined in Util.AtomString toString :: AtomString -> String Source # fromString :: String -> AtomString Source # fromStringWE :: String -> WithError AtomString Source # | |
StringClass ICStringLen Source # | |
Defined in Util.ICStringLen toString :: ICStringLen -> String Source # fromString :: String -> ICStringLen Source # | |
StringClass (UTF8 ICStringLen) Source # | |
Defined in Util.ICStringLen toString :: UTF8 ICStringLen -> String Source # fromString :: String -> UTF8 ICStringLen Source # fromStringWE :: String -> WithError (UTF8 ICStringLen) Source # |
fromStringWEHacked :: (StringClass stringClass, DeepSeq stringClass) => String -> IO (WithError stringClass) Source #
fromStringError :: String -> a Source #
Str a |
Instances
(Monad m, StringClass a) => HasBinary (Str a) m Source # | |
Defined in Util.AtomString writeBin :: WriteBinary m -> Str a -> m () Source # readBin :: ReadBinary m -> m (Str a) Source # |