Fork me on GitHub
#announcements
<
2023-02-09
>
eval202014:02:40

New, overhauled release of https://github.com/eval/deps-try#deps-try, a tool to quickly try out Clojure dependencies on rebel-readline:

$ deps-try metosin/malli
Give it a spin: $ bbin install io.github.eval/deps-try Changes: • Install via https://github.com/babashka/bbin • Interrupting an operation does not kill the REPL-session • Support for git-urls and branch/tag, e.g. deps-try some-branch • Conveniently toggle some Clojure settings, e.g. clojure.core/*print-namespace-maps* • Central history-file (following XDG spec) • Resolves dependencies in isolation (as much as possible), i.e. ignoring deps.edn • Upgraded deps for (now vendored) rebel-readline

👍 22
Noah Bogart18:02:45

$ deps-try clj-kondo/clj-kondo
Syntax error compiling at (eval/deps_try/try.clj:106:28).
No such var: fs/xdg-data-home

Full report at:
/tmp/clojure-4707535182527186318.edn

Noah Bogart18:02:12

looks like a cool app, i'm excited to try it out when i can get it working

eval202020:02:52

@UEENNMX0T could you try installing again? (should become v0.3.1)

👍 2
borkdude21:02:33

@U04V6FEES

$ deps-try
[Rebel readline] Type :repl/help for online help info
user=> :deps/try clj-kondo/clj-kondo
user=> (require '[clj-kondo.core :as clj-kondo])
Execution error (FileNotFoundException) at user/eval7264 (R

Eric Scott22:02:51

Fairly significant upgrade to two libraries supporting RDF in Clojure • ont-app/igraph-jena ports the Jena RDF store to the ont-app/igraph protocols • ont-app/rdf provides a layer of logic for dealing with RDF-baed implemantaions of igraph generally https://github.com/ont-app/igraph-jena https://github.com/ont-app/rdf

🎉 12
👀 2
kennytilton00:02:14

I ❤️ RDF.

❤️ 2
kennytilton00:02:18

And I ❤️❤️ GDB even more.

❤️ 2
kennytilton01:02:57

Looks pretty solid at a glance. Crazy question: is there any notification mechanism in the protocol? My reactive hack likes "push", if you will. Subscribe/notify, yadda yadda.

Eric Scott02:02:37

No there's nothing like that. This seems orthogonal to graphy behavior, or maybe I'm not clear on what you mean?

kennytilton03:02:02

"add watch" would do the trick nicely. :thinking_face: Might be fun building a reactive layer around iGraph. Do you have a backend for any of Franz's DBs, such as AllegroCache and AllegroGraph? Reminds me, I once rolled my own GDB-lite atop Postgres.

Eric Scott04:02:13

No so far I've just done jena and grafter, which wraps rdf4j if IIRC (badly needs a refresher). I'm also trying to extend it to other graph architectures. So many graphs, so little time :-)

kennytilton13:02:51

Tell me about it. I have UIs for the Web, CLJS and native JS, React, ReactNative, and now Flutter. We should start a self-help group. Anyway, next Q: are there other GDB protocols out there like iGraph? Any standards process ongoing?

Eric Scott13:02:06

Not that I know of, though it seems that datalog (following datomic's example) is the most common way of querying graphs in clojure-native implementations.

Eric Scott13:02:54

If you like SPARQLing, this is an interesting clojure-y approach: https://github.com/yetanalytics/flint

kennytilton14:02:51

I think a low-level fact maintenance API will be the key, and I am sure you have that. My objective will be transparent persistence of reactive objects, basically just maps with individually reactive properties. I did this atop an early Franz RDF product, went well.

Eric Scott14:02:51

Do you find the igraph protocol spec (and maybe ont-app/rdf) fairly approachable? If so, I'd welcome your extending it to your Allegrograph .

Eric Scott14:02:28

... moneybags! :-)

kennytilton14:02:26

Well, I am old enough to remember when people were able to sell software, so a proprietary DB is fine. Maybe we can get them to pay for the work. 🙂 btw, my RDF hack also made triples themselves reactive, storing formula code for eval as needed. As long as the right software was reading/writing the DB, mind you. I did that as well with Franz's old AllegroStore, a persistent CLOS solution. Very powerful. I did not stare hard at the protocol, I could tell from a distance that it was solid. 🙂 What I would do is a proof-of-concept using the simplest, working implementation and then worry about scaling to other DBs and more features.

Eric Scott14:02:31

Got a pointer to your 'hack'?

Eric Scott14:02:57

Yeah I remember Allegro CL fondly. Even paid for my own license for a while in the 00's. Actually it was a talk by Jans Aasman about AllegroGraph that got me interested in RDF

Eric Scott14:02:01

That was about the same time I found Clojure.

kennytilton15:02:08

Had to copy TripleCells in from another project. Good thing you know Lisp. 🙂 https://github.com/kennytilton/cells/tree/main/triple-cells Maybe start with hello-world.lisp where I test that the DB is self-updating.

👍 2
kennytilton18:02:03

Btw, I had a fun moment using Gruff to inspect the TripleCells encoding of the hello-world.lisp example, including all the implementation triples used to record dependencies.