aboutsummaryrefslogtreecommitdiff
path: root/aoc-2020-gleam/src/ext
diff options
context:
space:
mode:
authorTomasz Chojnacki <tomaszchojnacki2001@gmail.com>2023-02-22 13:01:06 +0100
committerTomasz Chojnacki <tomaszchojnacki2001@gmail.com>2023-02-22 13:01:06 +0100
commite83a0b8b0c71dbbce6b3cdb87c77b2740b9f79f8 (patch)
tree06225c03aacf6d5b0c813dfaa3efc961e917bfde /aoc-2020-gleam/src/ext
parent6eaf758850feebd8cfc97c3ead2de2625465a326 (diff)
downloadgleam_aoc2020-e83a0b8b0c71dbbce6b3cdb87c77b2740b9f79f8.tar.gz
gleam_aoc2020-e83a0b8b0c71dbbce6b3cdb87c77b2740b9f79f8.zip
Finish first part of day 7
Diffstat (limited to 'aoc-2020-gleam/src/ext')
-rw-r--r--aoc-2020-gleam/src/ext/iteratorx.gleam3
-rw-r--r--aoc-2020-gleam/src/ext/listx.gleam7
2 files changed, 5 insertions, 5 deletions
diff --git a/aoc-2020-gleam/src/ext/iteratorx.gleam b/aoc-2020-gleam/src/ext/iteratorx.gleam
index 456c1d1..8e34351 100644
--- a/aoc-2020-gleam/src/ext/iteratorx.gleam
+++ b/aoc-2020-gleam/src/ext/iteratorx.gleam
@@ -3,8 +3,7 @@ import gleam/list
pub fn length(iterator: Iterator(a)) -> Int {
iterator
- |> iter.to_list
- |> list.length
+ |> iter.fold(from: 0, with: fn(c, _) { c + 1 })
}
pub fn count(iterator: Iterator(a), satisfying predicate: fn(a) -> Bool) -> Int {
diff --git a/aoc-2020-gleam/src/ext/listx.gleam b/aoc-2020-gleam/src/ext/listx.gleam
index d962515..bead987 100644
--- a/aoc-2020-gleam/src/ext/listx.gleam
+++ b/aoc-2020-gleam/src/ext/listx.gleam
@@ -1,7 +1,8 @@
-import gleam/list
+import gleam/iterator as iter
+import ext/iteratorx as iterx
pub fn count(list: List(a), satisfying predicate: fn(a) -> Bool) -> Int {
list
- |> list.filter(for: predicate)
- |> list.length
+ |> iter.from_list
+ |> iterx.count(satisfying: predicate)
}