aboutsummaryrefslogtreecommitdiff
path: root/src/Utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/Utils')
-rw-r--r--src/Utils/List.elm17
-rw-r--r--src/Utils/Maybe.elm13
2 files changed, 30 insertions, 0 deletions
diff --git a/src/Utils/List.elm b/src/Utils/List.elm
new file mode 100644
index 0000000..6895d83
--- /dev/null
+++ b/src/Utils/List.elm
@@ -0,0 +1,17 @@
+module Utils.List
+ ( repeat
+ , splitAt
+ ) where
+
+import List
+
+repeat : Int -> a -> List a
+repeat count elem =
+ if count > 0
+ then
+ elem :: (repeat (count - 1) elem)
+ else
+ []
+
+splitAt : Int -> List a -> (List a, List a)
+splitAt n xs = (List.take n xs, List.drop n xs)
diff --git a/src/Utils/Maybe.elm b/src/Utils/Maybe.elm
new file mode 100644
index 0000000..25d02e7
--- /dev/null
+++ b/src/Utils/Maybe.elm
@@ -0,0 +1,13 @@
+module Utils.Maybe
+ ( filterMaybe
+ ) where
+
+filterMaybe : (a -> Bool) -> Maybe a -> Maybe a
+filterMaybe cond maybe =
+ case maybe of
+ Just x ->
+ if cond x
+ then Just x
+ else Nothing
+ Nothing ->
+ Nothing