A curated list of languages that compile to, or generate, SQL
| Name | Description | Source |
|---|---|---|
| Ermine | Lazy, Pure, with Strong Static Types. It's Haskell-like Functional Programming Language that adds support for Row Types. Compiles to SQL queries. | https://github.com/ermine-language/ |
| Name | Description | Source |
|---|---|---|
| GraphQL | Schema description, query, and manipulation langauge, well suited for web services. There's an implementation available that compiles GraphQL to Postgres SQL queries (Hasura GraphQL Engine). | https://github.com/hasura/graphql-engine |
| LINQ | LINQ is a declarative and typed query syntax that adds query capabilities to C#. Atleast one standalone LINQ to SQL translator written in C# is available as open source. | https://github.com/ethanli83/EFSqlTranslator |
| Malloy | is an experimental language for describing data relationships and transformations. It is both a semantic modeling language and a querying language that runs queries against a relational database. Malloy is currently available on BigQuery and Postgres. Malloy queries compile to SQL | https://github.com/looker-open-source/malloy |
| PRQL | pronounced "Prequel". PRQL stands for "Pipelined Relational Query Language", and is a simple, powerful, pipelined SQL replacement. Like SQL, it's readable, explicit and declarative. Unlike SQL, it forms a logical pipeline of transformations, and supports abstractions such as variables and functions. PRQL queries transpiles to SQL. | https://github.com/prql/prql |
| Name | Description | Source |
|---|---|---|
| Datalog | Declarative and non-turing complete subset of prolog, which can be used to query relational databases. Query evaluation with Datalog is based on first order logic and is sound and complete. Datalog programs can be translated to recursive SQL queries (part of the SQL:1999 standard). | https://github.com/ekoontz/psqlog (Any others?) |
| Yedalog | A logic programming language from Google that compiles to SQL | NONE |
| Logica | Successor to Yedalog, and inspired by Datalog, it's an open source logic programming language from Google. It compiles to SQL which can run on Google BigQuery, and has experimental support for PostgreSQL and SQLite | https://github.com/EvgSkv/logica |
| Constraint Handling Rules (CHR) | A declarative, rule-based programming language. Although CHR is Turing complete, it is not commonly used as a programming language in its own right. Rather, it is used to extend a host language with constraints. Prolog is by far the most popular host language and CHR is included in several Prolog implementations, including SICStus and SWI-Prolog, although CHR implementations also exist for Haskell, Java, C, SQL, and JavaScript. There is a CHR2 to SQL converter available | https://github.com/awto/chr2sql |
27 commits
A curated list of languages that compile to, or generate, SQL
| Name | Description | Source |
|---|---|---|
| Ermine | Lazy, Pure, with Strong Static Types. It's Haskell-like Functional Programming Language that adds support for Row Types. Compiles to SQL queries. | https://github.com/ermine-language/ |
| Name | Description | Source |
|---|---|---|
| GraphQL | Schema description, query, and manipulation langauge, well suited for web services. There's an implementation available that compiles GraphQL to Postgres SQL queries (Hasura GraphQL Engine). | https://github.com/hasura/graphql-engine |
| LINQ | LINQ is a declarative and typed query syntax that adds query capabilities to C#. Atleast one standalone LINQ to SQL translator written in C# is available as open source. | https://github.com/ethanli83/EFSqlTranslator |
| Malloy | is an experimental language for describing data relationships and transformations. It is both a semantic modeling language and a querying language that runs queries against a relational database. Malloy is currently available on BigQuery and Postgres. Malloy queries compile to SQL | https://github.com/looker-open-source/malloy |
| PRQL | pronounced "Prequel". PRQL stands for "Pipelined Relational Query Language", and is a simple, powerful, pipelined SQL replacement. Like SQL, it's readable, explicit and declarative. Unlike SQL, it forms a logical pipeline of transformations, and supports abstractions such as variables and functions. PRQL queries transpiles to SQL. | https://github.com/prql/prql |
| Name | Description | Source |
|---|---|---|
| Datalog | Declarative and non-turing complete subset of prolog, which can be used to query relational databases. Query evaluation with Datalog is based on first order logic and is sound and complete. Datalog programs can be translated to recursive SQL queries (part of the SQL:1999 standard). | https://github.com/ekoontz/psqlog (Any others?) |
| Yedalog | A logic programming language from Google that compiles to SQL | NONE |
| Logica | Successor to Yedalog, and inspired by Datalog, it's an open source logic programming language from Google. It compiles to SQL which can run on Google BigQuery, and has experimental support for PostgreSQL and SQLite | https://github.com/EvgSkv/logica |
| Constraint Handling Rules (CHR) | A declarative, rule-based programming language. Although CHR is Turing complete, it is not commonly used as a programming language in its own right. Rather, it is used to extend a host language with constraints. Prolog is by far the most popular host language and CHR is included in several Prolog implementations, including SICStus and SWI-Prolog, although CHR implementations also exist for Haskell, Java, C, SQL, and JavaScript. There is a CHR2 to SQL converter available | https://github.com/awto/chr2sql |
27 commits