infiniyield

Infinitely unfold values on-demand from a function.

Package Version Hex Docs

The library allows you to operate on an infinite sequence of values, retrieving values from the sequence as required.

gleam add infiniyield@1
import infiniyield

pub fn main() {
  infiniyield.unfold(2, fn(acc) { infiniyield.Next(acc, acc * 2) })
  |> infiniyield.take(5)
  // -> [2, 4, 8, 16, 32]
}

Based on the gleam_yielder library by Louis Pilfold.

Further documentation can be found at https://hexdocs.pm/infiniyield.

Search Document