lyte 0.1.0

Rust-like typesystem created for the Lumina project
Documentation
mod forall;
pub use forall::{Constraint, Generics};

mod r#type;
pub use r#type::{Key, Type, TypeData, TypeKind};

pub type TypesBuf<D> = Vec<Type<D>>;
pub type Types<D> = [Type<D>];

mod infer;
pub use infer::RefID;
pub use infer::TEnv;

mod check;
pub use check::{Error, ErrorHandler, TypeContext};

mod query;
pub use query::{Impl, TraitIndex};

mod mapping;
pub use mapping::Mapping;

pub mod frontend;

mod visitor;
pub use visitor::TypeVisitor;

#[cfg(test)]
mod tests;

#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ImplID(usize);