Crate voile_util

Source
Expand description

§Voile Util

This is a crate extracted from the codebase of the Voile type checker to help the development of other dependently-typed lambda calculus type checkers.

It contains helper functions for the Pest parser (supported via optional feature parser), a non-empty vector, some location utils, a unique-ID type with utils, many indices type support (meta-variable indices, global definition indices, de-bruijn indices) with pattern matcher and operators, a lisp parser for term generation, and universe level utilities (with omega).

All dependencies are optional, thus very lightweight.

Modules§

  • Defines the Axiom type and some functions on it.
  • Level-related definitions and relevant operations and traits.
  • A Lisp parser as some testing utility.
  • Syntactical information.
  • Generic meta variable utilities.
  • Helper functions for pest.
  • VarRec, PiSig, etc.
  • Unique-ID utilities.
  • Not using the vec1 crate because it doesn’t have fold1.

Macros§