File tree Expand file tree Collapse file tree 1 file changed +19
-5
lines changed Expand file tree Collapse file tree 1 file changed +19
-5
lines changed Original file line number Diff line number Diff line change @@ -254,6 +254,8 @@ import qualified Language.Haskell.TH.Lib as TH
254254import qualified Language.Haskell.TH.Syntax as TH
255255import Text.Printf (PrintfArg , formatArg , formatString )
256256import System.Posix.Types (CSsize (.. ))
257+ import Data.Maybe (maybe )
258+ import Data.Bool (bool )
257259
258260-- $setup
259261-- >>> import Data.Text
@@ -1892,11 +1894,23 @@ isSubsequenceOf tf sf
18921894 | length sf > length tf = False
18931895 | otherwise = subseqOf tf sf
18941896 where
1895- subseqOf t s
1896- | null s = True
1897- | null t = False
1898- | unsafeHead s == unsafeHead t = subseqOf (unsafeTail t) (unsafeTail s)
1899- | otherwise = subseqOf (unsafeTail t) s
1897+ subseqOf :: Text -> Text -> Bool
1898+ subseqOf t s =
1899+ maybe
1900+ True
1901+ (\ (sc,ss) ->
1902+ maybe
1903+ False
1904+ (\ (tc,ts) ->
1905+ subseqOf ts $
1906+ bool
1907+ s
1908+ ss
1909+ (sc /= tc)
1910+ )
1911+ (uncons t)
1912+ )
1913+ (uncons s)
19001914
19011915-------------------------------------------------------------------------------
19021916-- * View patterns
You can’t perform that action at this time.
0 commit comments