diff options
author | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2023-12-21 22:09:25 +0100 |
---|---|---|
committer | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2023-12-21 22:09:25 +0100 |
commit | d8e183f02f67522d94deafa328e19b3081ca41be (patch) | |
tree | 4617cc4fec15365cdcdfeb594b02432937d6c946 /aoc-2020-gleam/src/ext | |
parent | 02598d252c0e9093384ec53e46445df1a783feda (diff) | |
download | gleam_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.gleam | 14 | ||||
-rw-r--r-- | aoc-2020-gleam/src/ext/iteratorx.gleam | 4 | ||||
-rw-r--r-- | aoc-2020-gleam/src/ext/listx.gleam | 4 | ||||
-rw-r--r-- | aoc-2020-gleam/src/ext/mapx.gleam | 16 | ||||
-rw-r--r-- | aoc-2020-gleam/src/ext/setx.gleam | 2 |
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 |