🤖 AI Summary
This paper addresses architectural complexity and object-relational impedance mismatch arising from embedding relational semantics within host programming languages. To resolve these issues, we propose Rel—a native relational programming language that departs from the embedded paradigm and enables “programming at scale” by unifying end-to-end application semantics within a single relational logical framework. Methodologically, Rel integrates five decades of database theory, formalizing its semantics atop an extended relational algebra augmented with logic programming constructs. It supports higher-order relations, modular definitions, recursion, and incremental computation, while ensuring type safety and composability. Experimental evaluation demonstrates that Rel uniformly expresses enterprise-grade full-stack semantics: in real-world deployments, it reduces architectural components by over 40% and effectively eliminates coupling between data and business layers—achieving near-zero coupling.
📝 Abstract
From the moment of their inception, languages for relational data have been described as sublanguages embedded in a host programming language. Rel is a new relational language whose key design goal is to go beyond this paradigm with features that allow for programming in the large, making it possible to fully describe end to end application semantics. With the new approach we can model the semantics of entire enterprise applications relationally, which helps significantly reduce architecture complexity and avoid the well-known impedance mismatch problem. This paradigm shift is enabled by 50 years of database research, making it possible to revisit the sublanguage/host language paradigm, starting from the fundamental principles. We present the main features of Rel: those that give it the power to express traditional query language operations and those that are designed to grow the language and allow programming in the large.