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
class StringClass stringClass whereSource
toString :: stringClass -> StringSource
fromString :: String -> stringClassSource
fromStringWE :: String -> WithError stringClassSource
fromStringWEHacked :: (StringClass stringClass, DeepSeq stringClass) => String -> IO (WithError stringClass)Source
fromStringError :: String -> aSource