aboutsummaryrefslogtreecommitdiff
path: root/StringUtils.icl
diff options
context:
space:
mode:
Diffstat (limited to 'StringUtils.icl')
-rw-r--r--StringUtils.icl25
1 files changed, 25 insertions, 0 deletions
diff --git a/StringUtils.icl b/StringUtils.icl
new file mode 100644
index 0000000..1c57a69
--- /dev/null
+++ b/StringUtils.icl
@@ -0,0 +1,25 @@
+implementation module StringUtils
+
+import StdEnv
+
+strlen :: String -> Int
+strlen s = length s`
+where
+ s` :: [Char]
+ s` = fromString s
+
+pad_right :: String Int -> String
+pad_right s l
+| strlen s >= l = s
+| otherwise = s +++ toString (repeatn (l - strlen s) ' ')
+
+pad_left :: String Int -> String
+pad_left s l
+| strlen s >= l = s
+| otherwise = toString (repeatn (l - strlen s) ' ') +++ s
+
+join :: String [String] -> String
+join glue [] = ""
+join glue [s] = s
+join glue [s:ss] = s +++ glue +++ join glue ss
+