Safe Haskell | None |
---|---|
Language | Haskell98 |
This module generates short non-empty unique printable strings (IE without funny characters). Quotes and backslashes are not included, so printing should not be too hard. Periods are also not included, for the benefit of NewNames.hs.
Synopsis
- data UniqueStringSource
- newUniqueStringSource :: IO UniqueStringSource
- newUniqueString :: UniqueStringSource -> IO String
- maxUniqueStringSources :: [UniqueStringSource] -> IO UniqueStringSource
- data UniqueStringCounter
- firstUniqueStringCounter :: UniqueStringCounter
- stepUniqueStringCounter :: UniqueStringCounter -> (String, UniqueStringCounter)
- readUniqueStringSource :: UniqueStringSource -> IO [Int]
- createUniqueStringSource :: [Int] -> IO UniqueStringSource
- newNonUnique :: String -> String
- firstUniqueString :: String
Documentation
data UniqueStringSource Source #
data UniqueStringCounter Source #
Instances
Eq UniqueStringCounter Source # | |
Defined in Util.UniqueString (==) :: UniqueStringCounter -> UniqueStringCounter -> Bool # (/=) :: UniqueStringCounter -> UniqueStringCounter -> Bool # | |
Ord UniqueStringCounter Source # | |
Defined in Util.UniqueString compare :: UniqueStringCounter -> UniqueStringCounter -> Ordering # (<) :: UniqueStringCounter -> UniqueStringCounter -> Bool # (<=) :: UniqueStringCounter -> UniqueStringCounter -> Bool # (>) :: UniqueStringCounter -> UniqueStringCounter -> Bool # (>=) :: UniqueStringCounter -> UniqueStringCounter -> Bool # max :: UniqueStringCounter -> UniqueStringCounter -> UniqueStringCounter # min :: UniqueStringCounter -> UniqueStringCounter -> UniqueStringCounter # |
readUniqueStringSource :: UniqueStringSource -> IO [Int] Source #
readUniqueStringSource is used by types/CodedValue.hs to export values.
createUniqueStringSource :: [Int] -> IO UniqueStringSource Source #
createUniqueStringSource is the inverse of readUniqueStringSource.
newNonUnique :: String -> String Source #
Create non-conflicting string which cannot be produced by newUniqueString. This is useful for exceptional cases. We add this by adding a character with integer value 0 at the end.