datascript
relic
datascript | relic | |
---|---|---|
26 | 13 | |
5,371 | 395 | |
- | - | |
7.7 | 3.6 | |
18 days ago | 6 months ago | |
Clojure | Clojure | |
Eclipse Public License 1.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
datascript
- Datascript: Immutable database and Datalog query engine
-
Datalog in 100 lines of JavaScript (2022)
Hi pests, I don't think the criticism in the comments gives a full picture.
I wrote about a particular flavor of datalog, in common use today. [1] [2]. The earliest representation I know, which matches the syntax of my essay, was in SICP [3]
There's another, more academic form of datalog, which looks a lot more like prolog. Both have lots of similarities: both systems have a set of facts and rules. Both systems have can take a partially filled fact or rule, and find all matching facts. The more academic flavors of Datalog are useful for general logic, and particularly powerful for recursive questions. The variant I showed is more tailed for database queries.
[1] https://github.com/tonsky/datascript
-
XTDB on Mobile Possible?
There is also datascript as a similar option.
- FoundationDB: A Distributed Key-Value Store
-
wotbrew/relic: FRP for Clojure(Script)
What's the use case for relic? Sounds similar to https://github.com/tonsky/datascript ?
- Introduction to Datalog
- Clojure Turns 15 panel discussion video
-
Show HN: Cozo – new Graph DB with Datalog, embedded like SQLite, written in Rust
This look nice !
Datascript seems to be another Datalog engine (in memory only)
https://github.com/tonsky/datascript
-
Ergonomic inline SQL as a Python library
Inspired by past work: LINQ, inline-python, crepe, DataScript, Riffle.
-
Working with large maps
An in-memory database like Datascript may be worth looking into. Otherwise you could take an indexing approach: put all the data into one big map indexed by some unique key, and have a bunch of supplementary indexes that are updated on insertion.
relic
-
FoundationDB: A Distributed Key-Value Store
I've been tooling around with "Tuple Database", which claims to be FoundationDB for the frontend (by the original dev of Notion).
https://github.com/ccorcos/tuple-database/
I have found it conceptually similar to Relic or Datascript, but with strong preformance guarantees - something Relic considers a potential issue. It also solves the problem of using reactive queries to trigger things like popups and fullscreen requests, which must be run in the same event loop as user input.
https://github.com/wotbrew/relic
-
Use of Posh for frontend development?
As an alternative to datascript you might be interested to try https://github.com/wotbrew/relic which does materialized views of queries with incremental maintenance.
-
Out of the Tar Pit (2006) [pdf]
I came across this after seeing relic[0] submitted the other day and thought it was pretty interesting.
I've been into CRDTs for a while and have started wondering about generic mechanisms for distributed data. This lead me to read a lot more about the Relational Model of data and eventually to the Event Calculus.
What's interesting to me is that these things end up feeling a lot like CRDTs[1] or Event Sourcing. I haven't quite finished pulling on these threads but the relic link was a timely read considering!
I really liked the first half of this paper and the Authors categorization of complexity. However the second half fell a bit short for me. It seems they made the same mistake as many other people (SQL != Relational) and their idea of Feeders and Observers seems a bit more like an escape hatch than an elegant method for interfacing with the outside would.
[0] https://github.com/wotbrew/relic
- Relic: Functional relational programming for Clojure(Script)
- Relic: Functional relational programming for Clojure(Script).
- Functional relational programming model in Clojure(Script)
- wotbrew/relic: FRP for Clojure(Script)
-
ANN: relic - functional relational database and military grade anti-tar library.
I have recently cut the first alpha release of relic that I'm happy to share: https://github.com/wotbrew/relic.
What are some alternatives?
asami - A graph store for Clojure and ClojureScript
walkable - A Clojure(script) SQL library for building APIs: Datomic® (GraphQL-ish) pull syntax, data driven configuration, dynamic filtering with relations in mind
datahike - A durable Datalog implementation adaptable for distribution.
tigris - Tigris is an Open Source Serverless NoSQL Database and Search Platform.
datalevin - A simple, fast and versatile Datalog database
hugsql - A Clojure library for embracing SQL
10000-markdown-files - 10,000 markdown files. Useful for stress testing note-taking tools.
penpot - Penpot: The open-source design tool for design and code collaboration
xtdb - An immutable database for application development and time-travel data compliance, with SQL and XTQL. Developed by @juxt
hyhac - A HyperDex Haskell Client
Apache AGE - Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL. [Moved to: https://github.com/apache/age]
odoyle-rules - A rules engine for Clojure(Script)