The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Acme::IEnumerable - Proof-of-concept lazy lists, iterators, generators

SYNOPSIS

  use v5.16;
  use Acme::IEnumerable;

  my @sorted = Acme::IEnumerable
    ->from_list(qw/3 2 1/)
    ->where(sub { $_ < 3 })
    ->order_by(sub { $_ })
    ->to_perl;

  say join ' ', @sorted;

DESCRIPTION

Experimental implementation of a iterator/generator protocol and lazy lists on top of it, with plenty of generic methods inspired by .NET's IEnumerable interface and corresponding facilities in Ruby, Python, and Haskell. Mainly for discussion purposes.

STATIC METHODS

from_list

Creates new Acme::IEnumerable::List from the supplied list.

range($from [, $count])

Creates a new Acme::IEnumerable with $count integers from $from.

INSTANCE METHODS

take($count)

Creates new Acme::IEnumerable containing the first $count elements of the base enumerable.

...

...

EXPORTS

Nothing.

AUTHOR / COPYRIGHT / LICENSE

  Copyright (c) 2013 Bjoern Hoehrmann <bjoern@hoehrmann.de>.
  This module is licensed under the same terms as Perl itself.