aboutsummaryrefslogtreecommitdiff
path: root/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls
diff options
context:
space:
mode:
authoralexwl <alexey.a.kiryushin@gmail.com>2018-10-08 02:40:18 +0300
committeralexwl <alexey.a.kiryushin@gmail.com>2018-10-08 02:40:18 +0300
commitf38daf67730fe31b865528eb972c619857e62a5c (patch)
tree093c30681686f834dfa4b39da119e230b19284e9 /vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls
parent579a0f16c4f3ad2bcc8a283081d214fbe1ee3a59 (diff)
Update cabal-helper to version 0.8.1.2 that supports Cabal (>=1.14 && <1.26 || >=2.0 && <2.5)
Building cabal-helper-0.8.1.2 with Stack failed with 'Dependency cycle detected' error. It seems to be https://github.com/commercialhaskell/stack/issues/4265 Stack bug. As a temporary solution I added source code of cabal-helper package to vendor directory and commented out 'build-tool-depends: cabal-helper:cabal-helper-wrapper' line in the cabal-helper.cabal file.
Diffstat (limited to 'vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls')
-rw-r--r--vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/ByteString.hs17
-rw-r--r--vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/String.hs21
2 files changed, 38 insertions, 0 deletions
diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/ByteString.hs b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/ByteString.hs
new file mode 100644
index 0000000..cd49fed
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/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)
diff --git a/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/String.hs b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/String.hs
new file mode 100644
index 0000000..bba89de
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/tests/bkpregex/str-impls/Str/String.hs
@@ -0,0 +1,21 @@
+module Str.String where
+
+import Prelude hiding (null)
+import qualified Prelude as P
+
+type Str = String
+
+null :: Str -> Bool
+null = P.null
+
+singleton :: Char -> Str
+singleton c = [c]
+
+splits :: Str -> [(Str, Str)]
+splits [] = [([], [])]
+splits (c:cs) = ([], c:cs):[(c:s1,s2) | (s1,s2) <- splits cs]
+
+parts :: Str -> [[Str]]
+parts [] = [[]]
+parts [c] = [[[c]]]
+parts (c:cs) = concat [[(c:p):ps, [c]:p:ps] | p:ps <- parts cs]