This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-02-09
Channels
- # announcements (26)
- # babashka (4)
- # beginners (17)
- # calva (21)
- # cider (13)
- # clerk (17)
- # clj-commons (23)
- # clj-kondo (3)
- # cljdoc (47)
- # cljsrn (10)
- # clojure (123)
- # clojure-belgium (2)
- # clojure-dev (25)
- # clojure-europe (34)
- # clojure-gamedev (2)
- # clojure-italy (1)
- # clojure-nl (3)
- # clojure-norway (4)
- # clojure-uk (4)
- # clojurescript (86)
- # cursive (12)
- # datahike (1)
- # datomic (2)
- # emacs (4)
- # fulcro (6)
- # funcool (15)
- # instaparse (1)
- # integrant (11)
- # jobs (1)
- # joyride (9)
- # kaocha (3)
- # membrane (8)
- # off-topic (1)
- # pathom (4)
- # practicalli (2)
- # quil (1)
- # rdf (1)
- # reagent (9)
- # remote-jobs (1)
- # shadow-cljs (27)
- # spacemacs (4)
- # specter (1)
- # sql (11)
- # tools-deps (55)
- # vim (1)
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$ 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
looks like a cool app, i'm excited to try it out when i can get it working
$ 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
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
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.
No there's nothing like that. This seems orthogonal to graphy behavior, or maybe I'm not clear on what you mean?
Would add-watch do the trick? https://clojure.github.io/clojure/clojure.core-api.html#clojure.core/add-watch
"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.
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 :-)
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?
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.
ont-app has https://github.com/ont-app/datascript-graph and https://github.com/ont-app/datomic-client, both of which are overdue for some sprucing up.
If you like SPARQLing, this is an interesting clojure-y approach: https://github.com/yetanalytics/flint
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.
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 .
... moneybags! :-)
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.
Got a pointer to your 'hack'?
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
That was about the same time I found Clojure.
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.
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.