From 20852d6e60bee896e84c9bae77f45211773dbf60 Mon Sep 17 00:00:00 2001 From: Tomasz Chojnacki Date: Thu, 6 Apr 2023 14:41:14 +0200 Subject: Finish day 12 --- aoc-2020-gleam/src/ext/iteratorx.gleam | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'aoc-2020-gleam/src/ext') diff --git a/aoc-2020-gleam/src/ext/iteratorx.gleam b/aoc-2020-gleam/src/ext/iteratorx.gleam index 65e06f2..4e184bd 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} as iter +import gleam/iterator.{Iterator, Next} as iter pub fn length(iterator: Iterator(a)) -> Int { iterator @@ -23,3 +23,10 @@ pub fn filter_map( } }) } + +pub fn unfold_infinitely(from state: a, with fun: fn(a) -> a) -> Iterator(a) { + iter.unfold( + from: state, + with: fn(s) { Next(element: s, accumulator: fun(s)) }, + ) +} -- cgit v1.2.3