Ideas for DataScript 2

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

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • odoyle-rules

    A rules engine for Clojure(Script)

    Reactive updates is the big one, in my opinion. DataScript is a triumph and arguably is the reason why so many note-taking tools (Roam, Athens, Logseq, etc) are written in Clojure. But there are so many cases where it would be nice to react when some set of entities is changed.

    I think what we need is to figure out how to combine DataScript with a rules engine. I'm wrote a rules engine and made a writeup that compares the two together: "Using O'Doyle Rules as a poor man's DataScript" https://github.com/oakes/odoyle-rules/blob/master/bench-src/...

    Subscribing to individual entities is nice but with a rules engine you have so much more fine-grained control over your reactions. And with the RETE algorithm this can be done efficiently. Most libraries in this space just ignore it and make their own ad-hoc solution -- an informally-specified, bug-ridden, slow implementation of half of a rules engine.

  • RxDB

    A fast, local first, reactive Database for JavaScript Applications https://rxdb.info/

    Sounds like the feature set of RxDB [1].

    [1] https://github.com/pubkey/rxdb

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

  • tuple-database

  • mentat

    Discontinued UNMAINTAINED A persistent, relational store inspired by Datomic and DataScript. (by mozilla)

    Mozilla was working on the opposite, a Datalog of SQLite, with Mentat, now abandoned: https://github.com/mozilla/mentat

    Strikes me as a basically sound idea and it would be lovely if someone picked up the ball.

  • asami

    A flexible graph store, written in Clojure (by quoll)

    The "Optimized B-Trees" section I _think_ is suggesting to get rid of datoms, which I 100% agree with. I do not think they add anything at all; IME you can have a collection of all attributes indexed by entity ID and then have additional indexes on top of that collection.

    My stupid question is: why even bother with B-Trees? I believe asami[0] stores everything in memory using Clojure maps & sets.

    [0] https://github.com/quoll/asami

  • owoof

    A program for querying and modifying information in a datalog-like format backed by SQLite.

    > write text datalog queries

    you may be interested in https://github.com/sqwishy/owoof

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