SaaSHub helps you find the best software and product alternatives Learn more →
Top 6 Rust DSL Projects
-
Souffle and Cozo mentioned below already implement the whole of "traditional" datalog.
Percival (https://github.com/ekzhang/percival) has some very nice examples showing how you can interactively write and test rules on top of a datalog interpreter.
Bud (http://bloom-lang.net/bud/) is Hellerstein's proof of concept playground. It has bit-rotted in the past few years, but the examples are readable even if you can't easily get it working.
The complexity can be quite good. You can syntactically determine when you've written linear recursion (equivalent to a for loop) vs not. Otherwise, the complexity is what you'd expect from incremental view maintenance in a normal SQL database. Which is to say O(n^k) with k being the number of relations joined, but usually much, much less with appropriate indexes and skew in the data. All the usual tricks concerning data normalization and indexes from databases apply.
-
fathom
🚧 (Alpha stage software) A declarative data definition language for formally specifying binary data formats. 🚧 (by yeslogic)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Project mention: Taming stateful computations in Rust with typestates (Journal of Computer Languages, 2022) | /r/rust | 2023-04-19
Our work only requires a Rust compiler, avoiding workflow bloat and keeping the development experience simple; it is open-source and available at https://github.com/rustype/typestate-rs.
-
-
megra.rs
Mégra is a mini-language to make music with variable-order markov chains and some other stochastic shenanigans.
-
Project mention: What are the scenarios where "Rewrite it in Rust" didn't meet your expectations or couldn't be successfully implemented? | /r/rust | 2023-06-09
This is exactly what I needed when implementing xml-mut :D I have used roxmltree instead and manipulated text directly. will try to rewrite it using Xot.
Rust DSL related posts
- Show HN: PRQL in PostgreSQL
- Looking for someone to code with
- A simple XML mutation definition language resembling SQL
- Taming stateful computations in Rust with typestates (Journal of Computer Languages, 2022)
- Percival: Web-based, reactive Datalog notebooks for data analysis and visualization, written in Rust and Svelte
- Show HN: Percival – Web-based reactive Datalog notebooks, made with Rust+Svelte
- Percival: Web-based, reactive Datalog notebooks for data analysis and visualization, written in Rust and Svelte
-
A note from our sponsor - SaaSHub
www.saashub.com | 28 Mar 2024
Index
What are some of the best open-source DSL projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | percival | 571 |
2 | fathom | 256 |
3 | typestate-rs | 130 |
4 | timeblok | 91 |
5 | megra.rs | 53 |
6 | xml-mut | 4 |