[package]
edition = "2021"
rust-version = "1.81"
name = "dol"
version = "0.8.1"
authors = ["Univrs <ardeshir.org@gmail.com>"]
build = false
exclude = [
".github/",
"docs/tutorials/",
"examples/*.test",
"packages/",
"compiler-progress/",
"effect-v2-results/",
"identity-progress/",
"vm-progress/",
"stdlib/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "DOL (Design Ontology Language) - A declarative specification language for ontology-first development"
homepage = "https://github.com/univrs/dol"
documentation = "https://docs.rs/dol"
readme = "README.md"
keywords = [
"dsl",
"ontology",
"specification",
"parser",
"language",
]
categories = [
"development-tools",
"parser-implementations",
"command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/univrs/dol"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[badges.maintenance]
status = "actively-developed"
[features]
cli = [
"dep:clap",
"dep:anyhow",
"dep:colored",
"dep:regex",
"serde",
]
default = []
mlir = [
"melior",
"dep:home",
]
serde = [
"dep:serde",
"dep:serde_json",
]
vudo = [
"cli",
"wasm",
]
wasm = [
"wasm-compile",
"wasm-runtime",
]
wasm-compile = ["wasm-encoder"]
wasm-mlir = [
"wasm",
"mlir",
]
wasm-runtime = ["wasmtime"]
[lib]
name = "metadol"
path = "src/lib.rs"
[[bin]]
name = "dol-build-crate"
path = "src/bin/dol-build-crate.rs"
required-features = ["cli"]
[[bin]]
name = "dol-check"
path = "src/bin/dol-check.rs"
required-features = ["cli"]
[[bin]]
name = "dol-codegen"
path = "src/bin/dol-codegen.rs"
required-features = ["cli"]
[[bin]]
name = "dol-mcp"
path = "src/bin/dol-mcp.rs"
required-features = ["cli"]
[[bin]]
name = "dol-migrate"
path = "src/bin/dol-migrate.rs"
required-features = ["cli"]
[[bin]]
name = "dol-parse"
path = "src/bin/dol-parse.rs"
required-features = ["cli"]
[[bin]]
name = "dol-test"
path = "src/bin/dol-test.rs"
required-features = ["cli"]
[[bin]]
name = "vudo"
path = "src/bin/vudo.rs"
required-features = ["vudo"]
[[bin]]
name = "wasm-stress-test"
path = "src/bin/wasm-stress-test.rs"
[[example]]
name = "compile_counter"
path = "examples/compile_counter.rs"
required-features = ["wasm"]
[[example]]
name = "compiler_demo"
path = "examples/compiler_demo.rs"
[[example]]
name = "test_repl_expressions"
path = "examples/test_repl_expressions.rs"
[[example]]
name = "wasm_basic"
path = "examples/wasm_basic.rs"
[[test]]
name = "adaptive_tests"
path = "tests/adaptive_tests.rs"
[[test]]
name = "ast_structure"
path = "tests/ast_structure.rs"
[[test]]
name = "biology_tests"
path = "tests/biology_tests.rs"
[[test]]
name = "codegen_golden"
path = "tests/codegen_golden.rs"
[[test]]
name = "codegen_operators_test"
path = "tests/codegen_operators_test.rs"
[[test]]
name = "codegen_rust_tests"
path = "tests/codegen_rust_tests.rs"
[[test]]
name = "codegen_unit"
path = "tests/codegen_unit.rs"
[[test]]
name = "compiler_e2e"
path = "tests/compiler_e2e.rs"
[[test]]
name = "compiler_integration"
path = "tests/compiler_integration.rs"
[[test]]
name = "dol2_tests"
path = "tests/dol2_tests.rs"
[[test]]
name = "error_handling"
path = "tests/error_handling.rs"
[[test]]
name = "expr_comprehensive"
path = "tests/expr_comprehensive.rs"
[[test]]
name = "gdl_domain_tests"
path = "tests/gdl_domain_tests.rs"
[[test]]
name = "idiom_tests"
path = "tests/idiom_tests.rs"
[[test]]
name = "integration_comprehensive"
path = "tests/integration_comprehensive.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "lexer_exhaustive"
path = "tests/lexer_exhaustive.rs"
[[test]]
name = "lexer_stress"
path = "tests/lexer_stress.rs"
[[test]]
name = "lexer_tests"
path = "tests/lexer_tests.rs"
[[test]]
name = "module_tests"
path = "tests/module_tests.rs"
[[test]]
name = "parser_exhaustive"
path = "tests/parser_exhaustive.rs"
[[test]]
name = "parser_stress"
path = "tests/parser_stress.rs"
[[test]]
name = "parser_tests"
path = "tests/parser_tests.rs"
[[test]]
name = "quote_tests"
path = "tests/quote_tests.rs"
[[test]]
name = "reflect_tests"
path = "tests/reflect_tests.rs"
[[test]]
name = "sex_tests"
path = "tests/sex_tests.rs"
[[test]]
name = "spirit_tests"
path = "tests/spirit_tests.rs"
[[test]]
name = "stress_tests"
path = "tests/stress_tests.rs"
[[test]]
name = "test_v0_8_0_types"
path = "tests/test_v0_8_0_types.rs"
[[test]]
name = "typechecker_exhaustive"
path = "tests/typechecker_exhaustive.rs"
[[test]]
name = "validator_unit"
path = "tests/validator_unit.rs"
[[test]]
name = "wasm_debug"
path = "tests/wasm_debug.rs"
[[test]]
name = "wasm_execution"
path = "tests/wasm_execution.rs"
[[test]]
name = "wasm_test_helpers"
path = "tests/wasm_test_helpers.rs"
[dependencies.anyhow]
version = "1.0"
optional = true
[dependencies.clap]
version = "4.4"
features = ["derive"]
optional = true
[dependencies.colored]
version = "2.1"
optional = true
[dependencies.home]
version = "=0.5.9"
optional = true
[dependencies.logos]
version = "0.14"
[dependencies.melior]
version = "0.18"
optional = true
[dependencies.regex]
version = "1"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "1.0"
[dependencies.wasm-encoder]
version = "0.41"
optional = true
[dependencies.wasmtime]
version = "21"
optional = true
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.insta]
version = "1.34"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.tempfile]
version = "3.9"
[profile.dev]
opt-level = 0
debug = 2
[profile.release]
lto = true
codegen-units = 1
strip = true
[profile.test]
opt-level = 1