From 412148ce5f7911e818c6fe1e50981c2cd94858b1 Mon Sep 17 00:00:00 2001 From: Daniel Gröber Date: Sun, 3 Dec 2017 01:08:37 +0100 Subject: ghc-session: Add backpack test project --- tests/bkpregex/str-impls/Str/ByteString.hs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 tests/bkpregex/str-impls/Str/ByteString.hs (limited to 'tests/bkpregex/str-impls/Str/ByteString.hs') diff --git a/tests/bkpregex/str-impls/Str/ByteString.hs b/tests/bkpregex/str-impls/Str/ByteString.hs new file mode 100644 index 0000000..cd49fed --- /dev/null +++ b/tests/bkpregex/str-impls/Str/ByteString.hs @@ -0,0 +1,17 @@ +module Str.ByteString(module Data.ByteString.Char8, module Str.ByteString) where + +import Prelude hiding (length, null, splitAt) +import Data.ByteString.Char8 +import Data.ByteString + +type Str = ByteString + +splits :: Str -> [(Str, Str)] +splits s = fmap (\n -> splitAt n s) [0..length s] + +parts :: Str -> [[Str]] +parts s | null s = [[]] + | otherwise = do + n <- [1..length s] + let (l, r) = splitAt n s + fmap (l:) (parts r) -- cgit v1.2.3