diff options
author | Camil Staps | 2015-07-03 12:43:24 +0200 |
---|---|---|
committer | Camil Staps | 2015-07-03 12:43:24 +0200 |
commit | 537bb5e2bae76e0df0d9e07a40dbe6b299be6aad (patch) | |
tree | 4be9d96a5d0733a26ee5d76c6bedd63b10f4ea5e /StringUtils.icl | |
parent | Fix associativity (diff) |
Truth tables
Diffstat (limited to 'StringUtils.icl')
-rw-r--r-- | StringUtils.icl | 25 |
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 + |