feldspar-compiler-0.4.0.2: Feldspar/Compiler/Frontend/CommandLine/API/Library.hs
module Feldspar.Compiler.Frontend.CommandLine.API.Library where
import qualified Feldspar.Compiler.Backend.C.Options as CoreOptions
import Feldspar.Compiler.Backend.C.Platforms
import Data.Char
import Language.Haskell.Interpreter
lowerFirst :: String -> String
lowerFirst (first:rest) = (toLower first : rest)
upperFirst :: String -> String
upperFirst (first:rest) = (toUpper first : rest)
formatStringListCore :: [String] -> String
formatStringListCore [] = ""
formatStringListCore [x] = x
formatStringListCore (x:xs) = x ++ " | " ++ (formatStringListCore xs)
formatStringList :: [String] -> String
formatStringList list | length list > 0 = "(" ++ (formatStringListCore list) ++ ")"
formatStringList _ = error "This list should not be empty."
rpad :: Int -> String -> String
rpad target s = rpadWith target ' ' s
rpadWith :: Int -> Char -> String -> String
rpadWith target padchar s
| length s >= target = s
| otherwise = rpadWith target padchar (s ++ [padchar])
iPutStrLn :: String -> Interpreter ()
iPutStrLn = liftIO . putStrLn
iPutStr :: String -> Interpreter ()
iPutStr = liftIO . putStr