oops forgot this

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2023-12-17 17:35:01 +05:30
parent b89219e387
commit 6fb7a8489b

25
Lib.hs Normal file
View File

@@ -0,0 +1,25 @@
module Lib (readFile', split, count, tRead) where
import Data.ByteString qualified as B (readFile)
import Data.Text (Text)
import Data.Text.Encoding qualified as T (decodeUtf8)
import Data.Text.Read qualified as TR
-- IO --
readFile' :: FilePath -> IO Text
readFile' f = T.decodeUtf8 <$> B.readFile f
-- Data.Text --
tRead :: Text -> Int
tRead = (\(Right (n, _)) -> n) . TR.signed TR.decimal
-- Utility --
split :: (Eq a) => a -> [a] -> [[a]]
split delimiter list =
let (before, after) = break (== delimiter) list
in before : case after of
[] -> []
(_ : xs) -> split delimiter xs
count :: (Eq a) => [a] -> a -> Int
count xs x = length $ filter (x ==) xs