Skip to content

Commit

Permalink
Add 'cddl' module providing Haskell bindings to Rust's cddl crate.
Browse files Browse the repository at this point in the history
  This is meant to be used in test modules, for validating conformance
  of CBOR-serialized data objects against some CDDL specification.

  Note that ouroboros-network is doing something similar, but using a
  Ruby gem and calling directly the command-line built from the gem. We
  could do similar since the Rust cddl crate also has a CLI.

  The Haskell <-> Rust FFI is a bit of an experiment here as it is meant
  to provide a better (and faster) API than repeated IO calling a
  command-line in a shell.
  • Loading branch information
KtorZ committed Sep 26, 2023
1 parent 091ca88 commit 14e7108
Show file tree
Hide file tree
Showing 13 changed files with 1,575 additions and 0 deletions.
1 change: 1 addition & 0 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ packages:
cardano-submit-api
cardano-testnet
cardano-tracer
cddl
bench/cardano-topology
bench/locli
bench/plutus-scripts-bench
Expand Down
15 changes: 15 additions & 0 deletions cddl/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
### Rust ###
# Generated by Cargo
# will have compiled files and executables
debug/
target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb
Loading

0 comments on commit 14e7108

Please sign in to comment.