SKAT engine
Safe HaskellSafe-Inferred

Utils

Description

Collection of generic utility functions.

Synopsis
  • joinWith :: String -> [String] -> String
  • trim :: String -> String
  • upperCase :: String -> String
  • pathStartsWith :: String -> FilePath -> Bool
  • hasEmptyStrings :: [String] -> Bool
  • mkPair :: [String] -> Either String (String, String)
  • toListOfStr :: String -> [[String]]
  • safeInsert :: ((String, String) -> Map String String -> e) -> (String, String) -> Map String String -> Either e (Map String String)
  • distinctMapFromList :: ([String] -> e) -> ((String, String) -> Map String String -> e) -> [[String]] -> Either e (Map String String)

Documentation

joinWith #

Arguments

:: String

Separator to join strings with

-> [String]

Collections of strings to join

-> String 

Join a collection of strings with a separator

trim :: String -> String #

Trim start and end of word. It uses Text.strip under the hood.

upperCase :: String -> String #

Transform word to upper case

pathStartsWith :: String -> FilePath -> Bool #

Check if string starts with another string

hasEmptyStrings :: [String] -> Bool #

mkPair :: [String] -> Either String (String, String) #

toListOfStr :: String -> [[String]] #

This function is meant to split the str by ',' first and then split each result by : and then trim each string in the inner List. The IDE helped format it this way but it's a tad hard to grok. e.g. if str is "$A$:a, $B$:b" then the result is [[A, "a"], [B, "b"]]

safeInsert :: ((String, String) -> Map String String -> e) -> (String, String) -> Map String String -> Either e (Map String String) #

distinctMapFromList :: ([String] -> e) -> ((String, String) -> Map String String -> e) -> [[String]] -> Either e (Map String String) #