dslcompile 0.0.1

High-performance symbolic mathematics with final tagless design, egglog optimization, and Rust hot-loading compilation
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "dslcompile"
version = "0.0.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance symbolic mathematics with final tagless design, egglog optimization, and Rust hot-loading compilation"
readme = false
keywords = [
    "symbolic",
    "mathematics",
    "rust-codegen",
    "final-tagless",
    "optimization",
]
categories = [
    "mathematics",
    "science",
    "compilers",
]
license = "AGPL-3.0-or-later"
repository = "https://github.com/cscherrer/dslcompile"
resolver = "2"

[features]
ad_trait = ["dep:ad_trait"]
all = [
    "optimization",
    "cranelift",
    "ad_trait",
]
cranelift = [
    "dep:cranelift",
    "dep:cranelift-jit",
    "dep:cranelift-module",
    "dep:cranelift-codegen",
    "dep:cranelift-frontend",
    "dep:target-lexicon",
]
default = ["optimization"]
jit = ["cranelift"]
optimization = ["dep:egglog"]
symbolic = ["optimization"]

[lib]
name = "dslcompile"
path = "src/lib.rs"

[[example]]
name = "anf_demo"
path = "examples/anf_demo.rs"

[[example]]
name = "autodiff_rust_codegen_demo"
path = "examples/autodiff_rust_codegen_demo.rs"

[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"

[[example]]
name = "bayesian_linear_regression"
path = "examples/bayesian_linear_regression.rs"

[[example]]
name = "compile_time_egglog_demo"
path = "examples/compile_time_egglog_demo.rs"

[[example]]
name = "domain_aware_optimization_demo"
path = "examples/domain_aware_optimization_demo.rs"

[[example]]
name = "egglog_optimization_demo"
path = "examples/egglog_optimization_demo.rs"

[[example]]
name = "expression_system_comparison"
path = "examples/expression_system_comparison.rs"

[[example]]
name = "factorization_demo"
path = "examples/factorization_demo.rs"

[[example]]
name = "generic_operator_demo"
path = "examples/generic_operator_demo.rs"

[[example]]
name = "gradient_demo"
path = "examples/gradient_demo.rs"

[[example]]
name = "interval_domain_demo"
path = "examples/interval_domain_demo.rs"

[[example]]
name = "jit_demo"
path = "examples/jit_demo.rs"

[[example]]
name = "native_egglog_demo"
path = "examples/native_egglog_demo.rs"

[[example]]
name = "optimized_overhead_test"
path = "examples/optimized_overhead_test.rs"

[[example]]
name = "overhead_analysis"
path = "examples/overhead_analysis.rs"

[[example]]
name = "partial_evaluation_demo"
path = "examples/partial_evaluation_demo.rs"

[[example]]
name = "polynomial_demo"
path = "examples/polynomial_demo.rs"

[[example]]
name = "power_operations_demo"
path = "examples/power_operations_demo.rs"

[[example]]
name = "procedural_macro_benchmark"
path = "examples/procedural_macro_benchmark.rs"

[[example]]
name = "procedural_macro_demo"
path = "examples/procedural_macro_demo.rs"

[[example]]
name = "readme"
path = "examples/readme.rs"

[[example]]
name = "real_ad_performance"
path = "examples/real_ad_performance.rs"

[[example]]
name = "release_mode_test"
path = "examples/release_mode_test.rs"

[[example]]
name = "rule_loader_demo"
path = "examples/rule_loader_demo.rs"

[[example]]
name = "scoped_variables_demo"
path = "examples/scoped_variables_demo.rs"

[[example]]
name = "simplified_statistical_demo"
path = "examples/simplified_statistical_demo.rs"

[[example]]
name = "summation_demo"
path = "examples/summation_demo.rs"

[[example]]
name = "symbolic_ad_demo"
path = "examples/symbolic_ad_demo.rs"

[[example]]
name = "symbolic_optimization_demo"
path = "examples/symbolic_optimization_demo.rs"

[[example]]
name = "transcendental_demo"
path = "examples/transcendental_demo.rs"

[[example]]
name = "unified_system_demo"
path = "examples/unified_system_demo.rs"

[[test]]
name = "debug_macro"
path = "tests/debug_macro.rs"

[[test]]
name = "function_composition_solution"
path = "tests/function_composition_solution.rs"

[[test]]
name = "independent_function_composition"
path = "tests/independent_function_composition.rs"

[[test]]
name = "macro_integration_proptests"
path = "tests/macro_integration_proptests.rs"

[[test]]
name = "normalization_tests"
path = "tests/normalization_tests.rs"

[[test]]
name = "procedural_macro_proptests"
path = "tests/procedural_macro_proptests.rs"

[[test]]
name = "proptest_robustness"
path = "tests/proptest_robustness.rs"

[[test]]
name = "readme_examples"
path = "tests/readme_examples.rs"

[[test]]
name = "shared_variable_composition"
path = "tests/shared_variable_composition.rs"

[[test]]
name = "simple_egglog_test"
path = "tests/simple_egglog_test.rs"

[[test]]
name = "test_egglog_integration"
path = "tests/test_egglog_integration.rs"

[[test]]
name = "test_rust_compilation"
path = "tests/test_rust_compilation.rs"

[[test]]
name = "test_safe_egglog_macro"
path = "tests/test_safe_egglog_macro.rs"

[[test]]
name = "variable_scoping_test"
path = "tests/variable_scoping_test.rs"

[[bench]]
name = "cranelift_comparison"
path = "benches/cranelift_comparison.rs"

[[bench]]
name = "cranelift_vs_rust"
path = "benches/cranelift_vs_rust.rs"
harness = false

[[bench]]
name = "expression_optimization"
path = "benches/expression_optimization.rs"
harness = false

[[bench]]
name = "simple_optimization"
path = "benches/simple_optimization.rs"
harness = false

[dependencies.ad_trait]
version = "0.1"
optional = true

[dependencies.cranelift]
version = "0.120.0"
optional = true

[dependencies.cranelift-codegen]
version = "0.120.0"
optional = true

[dependencies.cranelift-frontend]
version = "0.120.0"
optional = true

[dependencies.cranelift-jit]
version = "0.120.0"
optional = true

[dependencies.cranelift-module]
version = "0.120.0"
optional = true

[dependencies.dlopen2]
version = "0.8"

[dependencies.dslcompile-macros]
version = "0.0.1"

[dependencies.egglog]
version = "0.4"
optional = true

[dependencies.num-traits]
version = "0.2"

[dependencies.ordered-float]
version = "5.0.0"

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.target-lexicon]
version = "0.13.2"
optional = true

[dependencies.thiserror]
version = "2.0.12"

[dev-dependencies.criterion]
version = "0.6.0"
features = ["html_reports"]

[dev-dependencies.divan]
version = "0.1"

[dev-dependencies.proptest]
version = "1.5"