summaryrefslogtreecommitdiff
path: root/testsuite/tests/profiling/should_compile/T19894/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/profiling/should_compile/T19894/Main.hs')
-rw-r--r--testsuite/tests/profiling/should_compile/T19894/Main.hs26
1 files changed, 26 insertions, 0 deletions
diff --git a/testsuite/tests/profiling/should_compile/T19894/Main.hs b/testsuite/tests/profiling/should_compile/T19894/Main.hs
new file mode 100644
index 0000000000..0195d14407
--- /dev/null
+++ b/testsuite/tests/profiling/should_compile/T19894/Main.hs
@@ -0,0 +1,26 @@
+module Main (main) where
+
+import Data.Char (ord)
+import Data.Word (Word8)
+import System.IO (openFile, IOMode(..), Handle)
+import StreamK (IsStream, MonadAsync)
+import qualified Operations
+import qualified StreamK
+import qualified Fold
+import qualified Handle
+import qualified Array
+import Array (Array)
+
+toarr :: String -> Array Word8
+toarr = Array.fromList . map (fromIntegral . ord)
+
+-- | Split on a word8 sequence.
+splitOnSeq :: String -> Handle -> IO ()
+splitOnSeq str inh =
+ Operations.drain $ Operations.splitOnSeq (toarr str) Fold.drain
+ $ Operations.unfold Handle.read inh
+
+main :: IO ()
+main = do
+ inh <- openFile "input.txt" ReadMode
+ splitOnSeq "aa" inh