Package Version Hex Docs

Gnocco

Gnocco is a library for computing a possible canoncial cover for a set of functional dependencies.

This is a for-fun project made for the sole purpose of playing with the canoncial cover algorithm introduced at university. I don’t plan on maintaining this project.

Named after “Can(onical) Co(ver) kind of sounds like Gnocco… let’s go with that.”

gleam add cnocco
import cnocco/cover
import cnocco/dependency

pub fn main() -> Nil {
  let assert Ok(deps) =
    cover.from_lists([
      #([1, 2], [3]),
      #([5, 9, 21], [23]),
      #([1, 2, 3, 4, 5], [10]),
      #([18, 20, 22], [25]),
    ])

  deps
  |> cover.from_dependencies()
  |> list.map(dependency.to_string)
  |> string.join("\n")
  |> io.println()
}

Development

gleam run   # Run the project
gleam test  # Run the tests
Search Document