summaryrefslogtreecommitdiff
path: root/2020/Util.hs
diff options
context:
space:
mode:
Diffstat (limited to '2020/Util.hs')
-rw-r--r--2020/Util.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/2020/Util.hs b/2020/Util.hs
index 7f5f941..7cd674d 100644
--- a/2020/Util.hs
+++ b/2020/Util.hs
@@ -1,5 +1,6 @@
module Util where
+import Data.List
import Data.List.NonEmpty (NonEmpty(..), (<|))
@@ -8,3 +9,6 @@ splitOn _ [] = [] :| []
splitOn f (x:xs) | f x = [] <| splitOn f xs
| otherwise = let l :| ls = splitOn f xs
in (x : l) :| ls
+
+splits' :: [a] -> [(a, [a])]
+splits' l = zip l (zipWith (++) (inits l) (tail (tails l)))