knave-expand 0.14.22

The reading, scoping and expansion stages of knave
Documentation
mod binding;
mod builtin;
mod expr;
mod kernel;
mod keyword;
mod module;
mod printer;
mod references;
mod saved_bindings;
mod structural;
mod template;
mod template_operation;
mod types;

pub use binding::{
    BindingArena, BindingId, BindingInfo, BindingKind, Declaration, ModuleDefinitions, Namespace,
    VariantInfo,
};
pub use builtin::{Builtin, BuiltinModule};
pub use expr::{
    Arm, Binder, Block, BodyItem, Control, Expr, ExprKind, FieldLabel, FieldSpelling, Lambda, Leaf,
    Literal, MapOperation, Pattern, PatternArguments, PatternKind, PatternPart, RustClause,
    RustTemplate, StructExpr,
};
pub use kernel::{
    ControlForm, CopyTrait, DefinitionForm, ExpressionForm, FunctionFieldTraits, KernelConstants,
    KernelForm, KernelType, LeafForm, OrderTrait, PrimitiveType, ReferenceKind, StructDerives,
    StructForm,
};
pub use keyword::Keyword;
pub use module::{
    AssociatedValue, CoreModule, EnumDefiner, EnumRust, ImplAssociatedType, ImplMethod, Item,
    ItemKind, ModuleId, ModulePath, RUST_TRAIT_ASSOCIATED_MARKER, RUST_TRAIT_HELP_MARKER,
    RUST_TRAIT_METHOD_MARKER, RUST_TRAIT_REQUIRES_MARKER, RUST_TRAIT_STRUCTURAL_MARKER,
    RequiredTrait, RustTraitAssociatedType, RustTraitDeclaration, RustTraitImplementor,
    TraitAssociatedType, TraitMethod, VariantDeclaration, VariantPayload,
};
pub use printer::CorePrinter;
pub use references::References;
pub use saved_bindings::{BindingTables, SavedBindings};
pub use structural::{
    StructuralClause, StructuralKey, StructuralPiece, StructuralTemplate, StructuralValues,
    UnfilledPlaceholder,
};
pub use template::{
    Access, MalformedPlaceholder, ParsedTemplate, PassingAspect, PassingDifference, Piece,
};
pub use template_operation::{Division, Operand, TemplateOperation};
pub use types::{ClosureKind, TypeBinder, TypeBound, TypeExpr, TypeExprKind};