mentat
emacs
mentat | emacs | |
---|---|---|
9 | 2 | |
1,610 | 0 | |
- | - | |
10.0 | 0.0 | |
over 5 years ago | about 2 years ago | |
Rust | Emacs Lisp | |
Apache License 2.0 | GNU General Public License v3.0 only |
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.
mentat
-
Why did Mozilla abandon the Mentat database?
Why did Mozilla abandon the Mentat database?
-
Asami: A flexible graph store in Clojure
There is (now unmaintained) project called Mentat [0] from Mozilla.
[0] https://github.com/mozilla/mentat
-
Ideas for DataScript 2
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.
-
SQLite Internals: Pages and B-trees
mentat was archived by mozilla back in 2017, but there are a bunch of forks. Because github is dumb and has a terrible interface for exploring forks [0], I used the Active GitHub Forks tool [1] that helped to find:
qpdb/mentat [2] seems to be the largest (+131 commits) and most recently modified (May this year) fork of mozilla/mentat.
[0]: https://github.com/mozilla/mentat/network/members - Seriously, how am I supposed to use this? Hundreds of entries, but no counts for stars, contributors, or commits, no details about recent commits. Just click every one?
[1]: https://techgaun.github.io/active-forks/index.html
[2]: https://github.com/qpdb/mentat
-
Call for Help - Open Source Datom/EAV/Fact database in Rust.
There are plenty of open source Datomic Inspired databases. Check out https://github.com/juji-io/datalevin and scroll down all the way down to “Alternatives”. There was even the beginning of a rust one by Mozilla: https://github.com/mozilla/mentat
-
Emacs team considering including SQLite
I think you might be slightly misreading things, from what you quoted it’s about the query language (sql vs Datalog) not the database engine, that would likely be SQLite in any case. Now whether grafting a Datalog query engine onto SQLite is a good idea is a different question (though it’s been done, eg https://github.com/mozilla/mentat), but we should all at least talk about the same thing :)
-
I Made the Exact Same App with Firebase,AWS Amplify,RxDB,PouchDB,WatermelonDB
You might be interested in the now defunct Mentat project from Mozilla. They made an EAV store with syncing on top of sqlite. It ran datalog queries by translating them into sql.
https://github.com/mozilla/mentat
emacs
-
Emacs team considering including SQLite
You can test my backport to 28.0.90 in https://github.com/geko/emacs/tree/emacs-28.0.90-sqlite.
What are some alternatives?
datalevin - A simple, fast and versatile Datalog database
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
SQLite - Official Git mirror of the SQLite source tree
LambdaLite - A functional, relational database in about 250 lines of Common Lisp
active-forks - Find active github forks of a repo https://git.io/vSnrC
cozo - A transactional, relational-graph-vector database that uses Datalog for query. The hippocampus for AI!
client-side-databases - An implementation of the exact same app in Firestore, AWS Datastore, PouchDB, RxDB and WatermelonDB
crepe - Datalog compiler embedded in Rust as a procedural macro
lovefield - Lovefield is a relational database for web apps. Written in JavaScript, works cross-browser. Provides SQL-like APIs that are fast, safe, and easy to use.
indradb - A graph database written in rust
differential-datalog - DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner.