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 @@ -253,6 +253,8 @@ import qualified Language.Haskell.TH.Lib as TH
253253import qualified Language.Haskell.TH.Syntax as TH
254254import Text.Printf (PrintfArg , formatArg , formatString )
255255import System.Posix.Types (CSsize (.. ))
256+ import Data.Maybe (maybe )
257+ import Data.Bool (bool )
256258
257259-- $setup
258260-- >>> import Data.Text
@@ -1888,11 +1890,23 @@ isSubsequenceOf tf sf
18881890 | length sf > length tf = False
18891891 | otherwise = subseqOf tf sf
18901892 where
1891- subseqOf t s
1892- | null s = True
1893- | null t = False
1894- | unsafeHead s == unsafeHead t = subseqOf (unsafeTail t) (unsafeTail s)
1895- | otherwise = subseqOf (unsafeTail t) s
1893+ subseqOf :: Text -> Text -> Bool
1894+ subseqOf t s =
1895+ maybe
1896+ True
1897+ (\ (sc,ss) ->
1898+ maybe
1899+ False
1900+ (\ (tc,ts) ->
1901+ subseqOf ts $
1902+ bool
1903+ s
1904+ ss
1905+ (sc /= tc)
1906+ )
1907+ (uncons t)
1908+ )
1909+ (uncons s)
18961910
18971911-------------------------------------------------------------------------------
18981912-- * View patterns
You can’t perform that action at this time.
0 commit comments