module Language.Lambda.Shared.UniqueSupply where import RIO import RIO.Text (pack) defaultUniques :: [Text] defaultUniques :: [Text] defaultUniques = (String -> Text) -> [String] -> [Text] forall a b. (a -> b) -> [a] -> [b] map String -> Text pack [String] strings where strings :: [String] strings = (String -> [String]) -> [String] -> [String] forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b] concatMap (\String p -> (Char -> String) -> String -> [String] forall a b. (a -> b) -> [a] -> [b] map (Char -> String -> String forall a. a -> [a] -> [a] :String p) (String -> [String]) -> (String -> String) -> String -> [String] forall b c a. (b -> c) -> (a -> b) -> a -> c . String -> String forall a. [a] -> [a] reverse (String -> [String]) -> String -> [String] forall a b. (a -> b) -> a -> b $ [Char 'a'..Char 'z']) [String] suffix suffix :: [String] suffix = String "" String -> [String] -> [String] forall a. a -> [a] -> [a] : (Int -> String) -> [Int] -> [String] forall a b. (a -> b) -> [a] -> [b] map Int -> String forall a. Show a => a -> String show [(Int 0::Int)..]