@@ -0,0 +1,21 @@
1+{-# LANGUAGE BangPatterns #-}
2+module Main (main) where
3+
4+import System.Environment (getArgs)
5+import qualified Data.Text.Lazy as LT
6+import qualified Data.Text.Lazy.IO as LT
7+import qualified Data.ByteString.Lazy.Search as LB
8+import qualified Data.ByteString.Lazy.Char8 as LB
9+import qualified Data.ByteString.Char8 as B
10+
11+lazyText file pat sub =
12+ LT.readFile file >>= LT.putStr . LT.replace (LT.pack pat) (LT.pack sub)
13+
14+lazyBS file pat sub =
15+ LB.readFile file >>= LB.putStr . LB.replace (B.pack pat) (LB.pack sub)
16+
17+main = do
18+ (kind : file : pat : sub : _) <- getArgs
19+ case kind of
20+ "lazyText" -> lazyText file pat sub
21+ "lazyBS" -> lazyBS file pat sub