brendanzab / fathom

🚧 (Alpha stage software) A declarative data definition language for formally specifying binary data formats. 🚧

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fathom

Actions Status Matrix License

A language for specifying data-dependent binary formats.

Example

let pixel = {
    red <- u8,
    green <- u8,
    blue <- u8,
};

let image = {
    width <- u16le,
    height <- u16le,
    pixels <- array16 (u16_mul width height) pixel,
};

image

More examples can be found in the formats directory.

Code of Conduct

Please note that this project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.

License

Fathom is licensed under the terms of the Apache License (Version 2.0).

See LICENSE or http://www.apache.org/licenses/LICENSE-2.0 for details.

About

🚧 (Alpha stage software) A declarative data definition language for formally specifying binary data formats. 🚧

License:Apache License 2.0


Languages

Language:Rust 77.4%Language:HTML 16.0%Language:Mercury 3.5%Language:Lean 1.4%Language:Prolog 1.2%Language:Nix 0.3%Language:JavaScript 0.1%Language:Shell 0.1%Language:CSS 0.0%