lacinia
GraphQL implementation in pure Clojure (by walmartlabs)
datascript
Immutable database and Datalog query engine for Clojure, ClojureScript and JS (by tonsky)
lacinia | datascript | |
---|---|---|
5 | 25 | |
1,798 | 5,358 | |
0.0% | - | |
4.9 | 7.7 | |
26 days ago | 11 days ago | |
Clojure | Clojure | |
GNU General Public License v3.0 or later | 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.
lacinia
Posts with mentions or reviews of lacinia.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-09.
-
Walmart “cracking down” on remote work, closing offices and forcing workers to relocate.
Very specific example, but Lacinia, the primary GraphQL open source library used for Clojure apps, was developed by a guy at Walmart Labs. (He has since moved on though.)
-
Current Job Market
https://github.com/walmartlabs/lacinia What I know about tech at Walmart is the Clojure lib above, which is the de facto graphql lib for the language today. Point being that tech existed for a while before big tech, and imo is going to be ever more present in more sectors of the economy. MAANG seems most relevant today in the capacities they gain from the amount of data they collect, and the importance of AWS for infrastructure (unless that's overrated, as it's starting to look like it is). What I know for sure is that the obsession with big tech as a representation of tech as a whole gives a distorted picture of things. Getting closer to reality in this matter is one big challenge.
-
benefits of clojure for web development over Haskell
There are some Clojure-ecosystems things that are pretty cool, too, that you'd probably miss going into Haskell. lacinia is an extremely cool GraphQL library, and there are a variety of interesting datalog-based datastores which are spiritual descendents of Datomic, notably xtdb (formerly crux) and datalevin. Also as noted, you can write the front-end in ClojureScript if you want to, and there are a lot of cool libraries for that as well.
-
Debugging Clojure at the REPL using tap>
Now, I noticed a ways back that Clojure 1.0 added the tap> function, and I vaguely knew it would be helpful for this kind of thing; I finally got around to trying it out to debug some hairy NullPointerException bugs in Lacinia.
-
Down the rabbit hole with Clojure, defrecord, and macros
Part of this was due to some inefficiencies in Lacinia, since corrected, but we also found other hot-spots specific to our application's code.
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.