← Josh Horowitz


Relational Programming in JavaScript

Relational programming is typically only used when querying large databases outside a program, such as with SQL. But the relational paradigm could be useful in many different contexts if it were more tightly integrated into a conventional, general-purpose language, operating on runtime data.

This requires:

  1. A query engine that runs inside the programming-language host.
  2. A compact, expressive relational language.
  3. A way of reinterpreting data between between the host language and the relational language without tedious boilerplate.

Relat is an integration of relational programming into JavaScript satisfying these requirements.

Read more about Relat in:

Relat paper thumbnail
The paper
Relat poster thumbnail
The poster

And when you're ready, try:

Relat screenshot
The demo

Relat was my final project for CSE 544.