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