sim-lib-dispatch 0.1.3

Generic function and method dispatch organs for SIM runtime values.
Documentation
#![forbid(unsafe_code)]
#![deny(missing_docs)]
//! Generic functions, method dispatch, and neutral property mechanics for the
//! SIM runtime.
//!
//! The kernel defines the callable and operation contracts; this crate supplies
//! the concrete dispatch organ (generic functions, multimethods, method
//! specificity ordering). It also owns ordered own-property storage and
//! bounded receiver-aware descriptor execution while leaving traversal order
//! and precedence to language profiles.

mod claims;
mod generic;
mod metaobject;
mod method;
mod property;
mod runtime;

/// Cookbook recipes for the dispatch organ, embedded at build time.
pub static RECIPES: sim_cookbook::EmbeddedDir =
    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));

pub use claims::{
    dispatch_combine_op_key, dispatch_generic_op_key, dispatch_inspect_op_key,
    dispatch_multimethod_op_key, dispatch_op_keys, dispatch_organ_symbol,
    dispatch_specificity_op_key, publish_dispatch_organ_claims,
    publish_dispatch_organ_claims_for_lib,
};
pub use generic::{GenericFunction, Multimethod};
pub use metaobject::{MetaObjectProtocol, meta_index};
pub use method::{DispatchMethod, MethodBody, MethodRole, MethodSpecificity, compare_specificity};
pub use property::{
    AccessContext, AccessError, AccessKind, AccessorDescriptor, DataDescriptor, DefineError,
    Descriptor, PropertyHook, PropertyStore,
};
pub use runtime::generic_function_value;

#[cfg(test)]
mod property_tests;
#[cfg(test)]
mod tests;