summaryrefslogtreecommitdiff
path: root/Day5.lean
diff options
context:
space:
mode:
authorAndreas Grois <andi@grois.info>2025-11-16 21:08:35 +0100
committerAndreas Grois <andi@grois.info>2025-11-16 21:08:35 +0100
commit3a9ff92902df508074daa3017d1a71dae7e85248 (patch)
tree3ddc5f4dc040ce2aa762c642569ff274f36049e7 /Day5.lean
parent75628f029abfd9829a1259a6e1dd7758d548c13f (diff)
Lean 4.25feature/day17
Diffstat (limited to 'Day5.lean')
-rw-r--r--Day5.lean4
1 files changed, 2 insertions, 2 deletions
diff --git a/Day5.lean b/Day5.lean
index 44c3908..27c69a6 100644
--- a/Day5.lean
+++ b/Day5.lean
@@ -110,7 +110,7 @@ structure Almanach where
private def parseSeeds (input : String) : Except String (List Seed) :=
if input.startsWith "seeds: " then
let input := input.drop 7
- let input := String.trim <$> input.split Char.isWhitespace
+ let input := String.trim <$> input.splitToList Char.isWhitespace
let numbers := input.mapM String.toNat?
let numbers := if let some numbers := numbers then pure numbers else throw s!"Failed to parse a seed number in {input}"
List.map NatId.fromNat <$> numbers
@@ -118,7 +118,7 @@ private def parseSeeds (input : String) : Except String (List Seed) :=
throw s!"Seeds line does not start with \"seeds: \": {input}"
private def parseMapping {α β : Type} [NatId α] [NatId β] (input : String) : Except String $ Mapping α β := do
- let input := String.trim <$> input.split Char.isWhitespace
+ let input := String.trim <$> input.splitToList Char.isWhitespace
let nums ← input.mapM $ (λ o ↦ if let some o := o then pure o else throw s!"Failed to parse mapping {input}, expected number") ∘ String.toNat?
match nums with
| [a,b,c] => pure $ {inputStart := NatId.fromNat b, outputStart := NatId.fromNat a, length := c}