Decodal/README.md

1.0 KiB

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

cargo install decodal

Run a Decodal file:

decodal examples/advanced/main.dcdl

Enable optional regex support when needed:

cargo install decodal --features regex

Library crate

Embedded hosts should depend on decodal-core and provide imports with a SourceLoader.

[dependencies]
decodal-core = "0.1"

Web playground

The static documentation site and browser playground live under:

site/decodal-site/

License

Licensed under either of:

  • Apache License, Version 2.0
  • MIT license

at your option.