SQL is syntactic sugar for relational algebra

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • rsc-regexp

    Translations of a simple C program to Rust. (by andychu)

  • An analogy I like is - Are Perl-style regexes (used in Python, Ruby, Java, .NET, etc.) syntactic sugar for regular languages?

    The answer is no, because Perl added all sorts of imperative doodads to regexes, which can’t be easily represented and executed in the automata-based paradigm. Trying to do this is like a “research paper generator” (and not in a bad way), e.g.

    Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics - https://dl.acm.org/doi/abs/10.1145/3591262 (2023)

    This is until Go and Rust, which used automata-based regexes from the beginning. I don’t think users have lost much.

    Purely automata-based engines are kind of pleasant to write, because almost everything is in the compiler, and not in the runtime, e.g. https://github.com/andychu/rsc-regexp/blob/master/py/README....

    That is, features like ? + * really are syntactic sugar for repetition. There’s also a lot of syntax sugar around character classes like [^a], and the runtime is very small.

    Likewise, SQL seems to have so many non-relational doodads in its language design, which cause problems for implementers. In this case, I think there’s an incentive problem with SQL: It benefits vendors if their dialect is harder to re-implement. Although certainly they’ve added many useful features too in 4-5 decades!

    To me a language design issue is we never really “learned” to compose languages with different paradigms:

        the set-based paradigms like relational algebra and regular languages, with

  • 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.

    InfluxDB logo
  • prql

    PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement

  • > I completely attribute this to SQL being difficult or "backwards" to parse. I mean backwards in the way that in SQL you start with what you want first (the SELECT) rather than what you have and widdling it down.

    > The turning point for me was to just accept SQL for what it is.

    Or just write PRQL and compile it to SQL

    https://github.com/PRQL/prql

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Anyone using PRQL over SQL in Production?

    1 project | /r/dataengineering | 6 Dec 2023
  • SQL 😎😎😎

    1 project | /r/SQL | 12 Jun 2023
  • Machine Learning, Linear Algebra, and More: Is SQL All You Need?

    2 projects | /r/ProgrammingLanguages | 20 May 2023
  • Is there a "way to add or subtract x months from a date, that works in both PostgreSQL and SQL Server?

    1 project | /r/SQL | 7 May 2023
  • VAST 3.0 released. Open-Source Security Data Pipelines with Kusto-like syntax

    2 projects | /r/cybersecurity | 15 Mar 2023