aboutsummaryrefslogtreecommitdiff
path: root/aoc-2020-gleam/src/ext
diff options
context:
space:
mode:
authorTomasz Chojnacki <tomaszchojnacki2001@gmail.com>2023-12-21 22:09:25 +0100
committerTomasz Chojnacki <tomaszchojnacki2001@gmail.com>2023-12-21 22:09:25 +0100
commitd8e183f02f67522d94deafa328e19b3081ca41be (patch)
tree4617cc4fec15365cdcdfeb594b02432937d6c946 /aoc-2020-gleam/src/ext
parent02598d252c0e9093384ec53e46445df1a783feda (diff)
downloadgleam_aoc2020-d8e183f02f67522d94deafa328e19b3081ca41be.tar.gz
gleam_aoc2020-d8e183f02f67522d94deafa328e19b3081ca41be.zip
Update to newest Gleam version
Diffstat (limited to 'aoc-2020-gleam/src/ext')
-rw-r--r--aoc-2020-gleam/src/ext/dictx.gleam14
-rw-r--r--aoc-2020-gleam/src/ext/iteratorx.gleam4
-rw-r--r--aoc-2020-gleam/src/ext/listx.gleam4
-rw-r--r--aoc-2020-gleam/src/ext/mapx.gleam16
-rw-r--r--aoc-2020-gleam/src/ext/setx.gleam2
5 files changed, 19 insertions, 21 deletions
diff --git a/aoc-2020-gleam/src/ext/dictx.gleam b/aoc-2020-gleam/src/ext/dictx.gleam
new file mode 100644
index 0000000..97b57b8
--- /dev/null
+++ b/aoc-2020-gleam/src/ext/dictx.gleam
@@ -0,0 +1,14 @@
+import gleam/dict.{type Dict}
+import gleam/iterator.{type Iterator} as iter
+
+pub fn from_iter(iterator: Iterator(#(k, v))) -> Dict(k, v) {
+ iter.fold(over: iterator, from: dict.new(), with: fn(acc, cur) {
+ dict.insert(acc, cur.0, cur.1)
+ })
+}
+
+pub fn to_iter(map: Dict(k, v)) -> Iterator(#(k, v)) {
+ map
+ |> dict.to_list
+ |> iter.from_list
+}
diff --git a/aoc-2020-gleam/src/ext/iteratorx.gleam b/aoc-2020-gleam/src/ext/iteratorx.gleam
index 4e184bd..0e59f17 100644
--- a/aoc-2020-gleam/src/ext/iteratorx.gleam
+++ b/aoc-2020-gleam/src/ext/iteratorx.gleam
@@ -1,4 +1,4 @@
-import gleam/iterator.{Iterator, Next} as iter
+import gleam/iterator.{type Iterator, Next} as iter
pub fn length(iterator: Iterator(a)) -> Int {
iterator
@@ -7,7 +7,7 @@ pub fn length(iterator: Iterator(a)) -> Int {
pub fn count(iterator: Iterator(a), satisfying predicate: fn(a) -> Bool) -> Int {
iterator
- |> iter.filter(for: predicate)
+ |> iter.filter(keeping: predicate)
|> length
}
diff --git a/aoc-2020-gleam/src/ext/listx.gleam b/aoc-2020-gleam/src/ext/listx.gleam
index 8d20bd6..2ca8648 100644
--- a/aoc-2020-gleam/src/ext/listx.gleam
+++ b/aoc-2020-gleam/src/ext/listx.gleam
@@ -25,6 +25,6 @@ pub fn index_of(list: List(a), value: a) -> Result(Int, Nil) {
list
|> iter.from_list
|> iter.index
- |> iter.find(one_that: fn(elem) { pair.second(elem) == value })
- |> res.map(with: pair.first)
+ |> iter.find(one_that: fn(elem) { pair.first(elem) == value })
+ |> res.map(with: pair.second)
}
diff --git a/aoc-2020-gleam/src/ext/mapx.gleam b/aoc-2020-gleam/src/ext/mapx.gleam
deleted file mode 100644
index 244c1ac..0000000
--- a/aoc-2020-gleam/src/ext/mapx.gleam
+++ /dev/null
@@ -1,16 +0,0 @@
-import gleam/map.{Map}
-import gleam/iterator.{Iterator} as iter
-
-pub fn from_iter(iterator: Iterator(#(k, v))) -> Map(k, v) {
- iter.fold(
- over: iterator,
- from: map.new(),
- with: fn(acc, cur) { map.insert(acc, cur.0, cur.1) },
- )
-}
-
-pub fn to_iter(map: Map(k, v)) -> Iterator(#(k, v)) {
- map
- |> map.to_list
- |> iter.from_list
-}
diff --git a/aoc-2020-gleam/src/ext/setx.gleam b/aoc-2020-gleam/src/ext/setx.gleam
index 57e368e..33ebbc3 100644
--- a/aoc-2020-gleam/src/ext/setx.gleam
+++ b/aoc-2020-gleam/src/ext/setx.gleam
@@ -1,4 +1,4 @@
-import gleam/set.{Set}
+import gleam/set.{type Set}
import gleam/iterator as iter
import ext/iteratorx as iterx