Acme-Partitioner

 view release on metacpan or  search on metacpan

lib/Acme/Partitioner.pm  view on Meta::CPAN

  use Acme::Partitioner;
  my $p = Acme::Partitioner->using(@states);
  my $partitioner =
    $p->once_by(sub { $dfa->is_accepting($_) })
      ->then_by(sub {
        join " ", map { $p->partition_of($_) }
          $dfa->transitions_from($_)
      });

  while ($partitioning->refine) {
    say "Still partitioning, got "
      . $p->size . " partitions so far";
  }
      
=head1 DESCRIPTION

This module provides a simple interface to partition items of a set
into smaller sets based on criteria supplied by the caller. One step
in the refinement process extracts keys from the elements and groups
elements based on all of them. Criteria can be based on assignments
to partitions based on previous refinements, in which case multiple



( run in 0.770 second using v1.01-cache-2.11-cpan-483215c6ad5 )