Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2023-12-17 20:23:57 +05:30
parent 6fb7a8489b
commit e3e8334758
2 changed files with 54 additions and 1 deletions

7
Lib.hs
View File

@@ -1,6 +1,7 @@
module Lib (readFile', split, count, tRead) where
module Lib (readFile', tRead, buildGrid, split, count) where
import Data.ByteString qualified as B (readFile)
import Data.Map qualified as M
import Data.Text (Text)
import Data.Text.Encoding qualified as T (decodeUtf8)
import Data.Text.Read qualified as TR
@@ -13,6 +14,10 @@ readFile' f = T.decodeUtf8 <$> B.readFile f
tRead :: Text -> Int
tRead = (\(Right (n, _)) -> n) . TR.signed TR.decimal
-- Data.Map --
buildGrid :: [[a]] -> M.Map (Int, Int) a
buildGrid xs = M.fromList [((x, y), a) | (row, x) <- zip xs [0 ..], (a, y) <- zip row [0 ..]]
-- Utility --
split :: (Eq a) => a -> [a] -> [[a]]
split delimiter list =