# Module Coloring

    module Coloring: sig .. end

`k`-coloring of undirected graphs.

A `k`-coloring of a graph `g` is a mapping `c` from nodes to `{1,...,k}` such that `c(u) <> c(v)` for any edge `u-v` in `g`.

## Graph coloring for graphs without marks

    module type G = sig .. end

Minimal graph signature for `Coloring.Make`.

    module Make: functor (G : G) -> sig .. end

Provide a function for `k`-coloring a graph.

## Graph coloring for graph with integer marks

    module type GM = sig .. end

Minimal graph signature for `Coloring.GM.Mark`.

    module Mark: functor (G : GM) -> sig .. end

Provide a function for `k`-coloring a graph with integer marks.