Skip to content

Instantly share code, notes, and snippets.

@skatenerd
skatenerd / day_fourteen_2023.hs
Created December 16, 2023 02:59
Day 14 AOC 2023
{-# LANGUAGE OverloadedStrings #-}
module DayFourteen where
import qualified Data.Text as T
import Data.Ratio ((%))
import qualified Data.List as L
import qualified Text.Read as TR
import Debug.Trace (traceShowId, traceShow)
import qualified Data.Maybe as M
import qualified Data.Map as DM
@skatenerd
skatenerd / day_fifteen_2023.hs
Created December 15, 2023 23:56
Day 15 AOC 2023
{-# LANGUAGE OverloadedStrings #-}
module DayFifteen where
import qualified Data.Text as T
import Data.Ratio ((%))
import qualified Data.List as L
import qualified Text.Read as TR
import Debug.Trace (traceShowId, traceShow)
import qualified Data.Maybe as M
import qualified Data.Map as DM
@skatenerd
skatenerd / day_twelve_2023.hs
Created December 15, 2023 13:48
Day Twelve
{-# LANGUAGE OverloadedStrings #-}
module DayTwelve where
import qualified Data.Text as T
import Data.Ratio ((%))
import qualified Data.List as L
import qualified Text.Read as TR
import Debug.Trace (traceShowId, traceShow)
import qualified Data.Maybe as M
import qualified Data.Map as DM
@skatenerd
skatenerd / day_eleven_2023.hs
Created December 12, 2023 14:38
AOC 2023 Day 11 - all about transposition
{-# LANGUAGE OverloadedStrings #-}
module DayEleven where
import qualified Data.Text as T
import qualified Data.List as L
import qualified Text.Read as TR
import Debug.Trace (traceShowId, traceShow)
import qualified Data.Maybe as M
import qualified Data.Set as S
import Safe (atDef, atMay, minimumMay, headMay)
@skatenerd
skatenerd / day_ten_2023.hs
Created December 12, 2023 04:59
Day 10 AOC 2023
{-# LANGUAGE OverloadedStrings #-}
module DayTen where
import qualified Data.Text as T
import qualified Data.List as L
import qualified Text.Read as TR
import Debug.Trace (traceShowId, traceShow)
import qualified Data.Maybe as M
import qualified Data.Set as S
import Safe (atDef, atMay, minimumMay, headMay)
@skatenerd
skatenerd / day_eight_2023.hs
Created December 9, 2023 14:58
Day Eight 2023 AOC
{-# LANGUAGE OverloadedStrings #-}
module DayEight (module DayEight) where
import qualified Data.Text as T
import qualified Data.List as L
import qualified Text.Read as TR
import qualified Data.Maybe as M
import qualified Data.Map as DM
import qualified Data.Set as DS
import qualified Safe as S
@skatenerd
skatenerd / day_nine_2023.hs
Last active December 9, 2023 23:44
Day Nine 2023
{-# LANGUAGE OverloadedStrings #-}
module DayNine where
import qualified Data.Text as T
import qualified Text.Read as TR
import qualified Data.List as L
import Safe (atMay, tailMay)
import qualified Data.Maybe as M
import Lib (operateOnFile)
@skatenerd
skatenerd / day_seven_2023.hs
Created December 7, 2023 14:37
AOC 2023 Day 7
{-# LANGUAGE OverloadedStrings #-}
module DaySeven (module DaySeven) where
import qualified Data.Text as T
import qualified Data.List as L
import qualified Text.Read as TR
import qualified Data.Maybe as M
import qualified Data.Set as S
import qualified Control.Monad as CM
import Data.Range((+=+))
@skatenerd
skatenerd / day_five.hs
Last active December 5, 2023 20:32
Day Five
{-# LANGUAGE OverloadedStrings #-}
module DayFive (module DayFive) where
import qualified Data.Text as T
import qualified Text.Read as TR
import qualified Data.Maybe as M
import qualified Data.Set as S
import qualified Control.Monad as CM
import Data.Range((+=+))
import qualified Data.Range as R
@skatenerd
skatenerd / day_four_2023.hs
Created December 4, 2023 06:25
AOC 2023 Day Four
{-# LANGUAGE OverloadedStrings #-}
module DayFour (module DayFour) where
import qualified Data.Text as T
import qualified Text.Read as TR
import qualified Data.Maybe as M
import qualified Data.Set as S
extractNumbers :: T.Text -> [Int]