Rhyme: A Data-Centric Expressive Query Language for Nested Data Structures
summary
Rhyme is an expressive query language implemented as an embedded DSL in JavaScript that targets nested JSON and tensor workloads and compiles to executable JS via an intermediate representation that is loop-free IR with dependency-driven nesting. It uses a wildcard and named logic variables for implicit joins and implicit iteration, expresses Einsum-style tensor transforms and group-by aggregations, emits DOM/React or SVG trees, shows faster synthetic results than Spark-based pipelines, and has a GitHub prototype with planned incremental and recursion work.
AI-written summary · about
chapters (13)
- 0:00Rhyme introduction
- 1:43Nested data goals
- 3:04Basic querying
- 5:55Logic variables and joins
- 8:20Tensor computations
- 10:07Combining paradigms
- 11:54Text processing
- 13:43Declarative visualization
- 16:53Pivot tables and rollup
- 19:40Metaprogramming in JavaScript
- 21:27Code generation and performance
- 22:53Future work and incremental queries
- 24:16Q&A
related talks
56mEfficient array (and data) processing by leveraging structure
27mA Programing Language for Data and Configuration!
39mSharing Data, hiding Complexity (with Clojure and RDF)
32mDataEngBytes 2023 - BRI-T1-10 Rishu Saxena & John Cosgrove
33mQUARK: A PURELY-FUNCTIONAL SCALA DSL FOR DATA PROCESSING & ANALYTICS
23mSpark Datasets: why they aren't great and what could be done
21mUpdate on Raku Persistent Data Structures
29mRAG for Data Engineers: Why Your Metadata Is the Missing Piece
