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

Safe Haskell | None
Language | Haskell2010

Agda.Utils.Cluster

Description

Create clusters of non-overlapping things.

Synopsis

- type C = Int
- cluster :: (a -> NonemptyList C) -> [a] -> [NonemptyList a]
- cluster' :: [(a, NonemptyList C)] -> [NonemptyList a]

# Documentation

type C = Int Source #

Characteristic identifiers.

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

Given a function `f :: a -> NonemptyList C` which returns a non-empty list of characteristics `C` of `a`, partition a list of `a`s 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, NonemptyList C)] -> [NonemptyList a] Source #

Partition a list of `a`s 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.