summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2025-03-13 22:29:30 +0100
committertv <tv@krebsco.de>2025-07-21 14:57:09 +0200
commit7ded95389727f6e2899078faea2103b01091caf0 (patch)
treefa0c95f2b8e167496cf392240a718714feb46623
parent15b6cb2e94243cd8f6c9912a78ee1a5e9738b264 (diff)
add chunksOf
-rw-r--r--src/Blessings.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Blessings.hs b/src/Blessings.hs
index 59fc4c8..e8dfa82 100644
--- a/src/Blessings.hs
+++ b/src/Blessings.hs
@@ -416,3 +416,13 @@ instance (Eq a, Blessable a) => Blessable (Blessings a) where
(t:ts) -> normalize $ t <> i <> Bless.intercalate i ts
fromWord8 = Plain . Bless.fromWord8
+
+
+chunksOf :: (Eq a, Blessable a) => Int -> a -> [a]
+chunksOf k = rec
+ where
+ rec t =
+ case Bless.splitAt k t of
+ (tl, tr)
+ | tl == mempty -> []
+ | otherwise -> tl : rec tr