1 unstable release
0.11.0 | Dec 23, 2024 |
---|
#5 in #dfir
146 downloads per month
Used in 2 crates
(via hydro_lang)
1MB
18K
SLoC
DFIR
DFIR (Dataflow Intermediate Representation) is a small language and compiler for low-latency dataflow programs, written in Rust. DFIR serves as dataflow representation and runtime execution library for the Hydro language stack, which is under development as a complete compiler stack for distributed programming languages.
DFIR is designed with two use cases in mind:
- Expert developers can program directly in the DFIR language to build individual components that can interoperate in a distributed program or service.
- Higher levels of the Hydro stack will offer higher-level abstractions and DSLs, and treat DFIR as a compiler target.
DFIR is targeted at supporting the following unique features:
- An easy-to-read flow syntax, embeddedable in Rust.
- Dataflow programming model, capturing the streaming message/data-driven nature of distributed computational services.
- Reactive programming model with cumulative state, capturing the nature of both stateful distributed services and front-end frameworks.
- Extremely low-latency execution via Rust monomorphization, while maintaining high throughput.
DFIR's language—the DFIR flow syntax—is embeddedable in Rust, which compiles DFIR code to high-efficiency machine code. As the lowest level of the Hydro stack, DFIR requires some knowledge of Rust to use.
The most recent release of the DFIR Book docs are online, providing documentation and numerous annotated examples.
You can also check out the DFIR Playground to see DFIR's flow syntax in action!
Dependencies
~10–25MB
~384K SLoC