# Decodal Decodal is a small deterministic DSL for describing, composing, validating, and materializing structured data. It is designed around a lightweight Rust core: - host-supplied imports through `SourceLoader` - no filesystem access in `decodal-core` - concrete and abstract values with constraints and defaults - deterministic expression evaluation - optional regex support behind a Cargo feature - browser playground support through WebAssembly ## Install the CLI ```sh cargo install decodal ``` Run a Decodal file: ```sh decodal examples/advanced/main.dcdl ``` Enable optional regex support when needed: ```sh cargo install decodal --features regex ``` ## Library crate Embedded hosts should depend on `decodal-core` and provide imports with a `SourceLoader`. ```toml [dependencies] decodal-core = "0.1" ``` ## Web playground The static documentation site and browser playground live under: ```text site/decodal-site/ ``` ## License Licensed under either of: - Apache License, Version 2.0 - MIT license at your option.