Agda-2.5.1.2: A dependently typed functional programming language and proof assistant

Agda.Utils.Cluster

Description

Create clusters of non-overlapping things.

Synopsis

# Documentation

cluster :: (a -> (C, [C])) -> [a] -> [[a]] Source #

Given a function f :: a -> (C,[C]) which returns a non-empty list of characteristics C of a, partition a list of as into groups such that each element in a group shares at least one characteristic with at least one other element of the group.

cluster' :: [(a, (C, [C]))] -> [[a]] Source #

Partition a list of as paired with a non-empty list of characteristics $C$ into groups such that each element in a group shares at least one characteristic with at least one other element of the group.