defn-spec
Add function args and return Spec checking via assertions (by Provisdom)
datascript
Immutable database and Datalog query engine for Clojure, ClojureScript and JS (by tonsky)
defn-spec | datascript | |
---|---|---|
1 | 25 | |
53 | 5,359 | |
- | - | |
0.0 | 7.7 | |
7 months ago | 11 days ago | |
Clojure | Clojure | |
Eclipse Public License 1.0 | Eclipse Public License 1.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
defn-spec
Posts with mentions or reviews of defn-spec.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-01-20.
-
Python dataclass equivalent
if all you care about is information / documentation, and maybe validation, then spec or malli are fine. using spec during runtime to simulate a type system is a poor choice in most cases, because you are doing runtime type checking (something akin to dependent types or even esoteric contracts that are hard/impossible to express statically). There are some libs that help bolt a typed facade (using spec) onto the familiar defn / fn, https://github.com/gnl/ghostwheel https://github.com/Provisdom/defn-spec .
datascript
Posts with mentions or reviews of datascript.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-01-22.
- 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.