Fork me on GitHub

New: is a set of tools for building + React based web apps with graph and non-graph data models. This includes: 1. Entity references and their lifecycle management 2. Performant multi-model db with graph queries and mutations 3. Simple but powerful hierarchical FSMs 4. JS and DOM interop utilities 5. Novel API-driven visual debugging of complex apps (don't sleep on this! see the short vid below) Reflet aims to be a natural progression on top of Re-frame, sort of like Re-frame++ (or Fulcro for Re-frame). Its main design goals are: 1. A la carte feature set: it is not a "framework", so use as much or as little of it as you want 2. Works with existing Re-frame applications: iterative, minimal approach to integration, so big re-writes can be avoided 3. Graph and non-graph data models can be mixed freely with a single source of truth: a Clojure map 4. A single macro encourages excellent, pluggable APIs 5. Highly performant and stable: Reflet has already been deployed in complex data-driven production apps for years (e.g. in Bioinformatics, Business analytics... ) Hope it is helpful! :rightwards_hand: 馃巵 And more to come :face_with_open_eyes_and_hand_over_mouth:

馃帀 24
馃槷 8

impressive work, nice one!

馃檹 2

This looks yummy! CC: @UGDTSFM4M

馃檶 2

This may be just what I need for a side project I've been thinking about for years.

馃帀 2

wow, that visual debugger is very impressive! like a Smalltalk object viewer but for dataflow.

馃憦 2

Awesome, hope it turns out to be helpful!


Thanks: the debugger itself is kind of an example of what the library is capable of: it was written entirely in Reflet to avoid having to inline any big JS dependencies.

馃く 2
metal 2
clojure-spin 4

That also sounds very aligned with the Smalltalk spirit!

馃槑 2

the debug windows thing is super inspiring @U0HJK8682!

馃憦 2

nice work!

馃檶 2
borkdude17:02:56 Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs SCI is used in,,, and many projects. It is now easier to add JS libraries to your SCI ctx, so users can require and use them:

(ns sci.examples.js-libs
  (:require ["fs" :as fs]
            [sci.core :as sci]))

(sci/eval-string "
(require '[\"fs\" :as fs])
(fs/existsSync \"\")"
                 {:js-libs {"fs" fs}})
;;=> true
This and several other improvements in v0.7.38 (2023-02-07) 鈥 Add sci/add-js-lib! for adding js libraries including corresponding :js-libs init option 鈥 Speed up Java interop around 5x by caching method lookups 鈥 Allow destructucturing in CLJS defmethod fix JS constructor from class in CLJS namespace 鈥 Improve error location in macroexpansion 鈥 Support add-watch and remove-watch on sci.lang.Var implement *loaded-libs* and (loaded-libs) 鈥 Expose new parse-next+string function 鈥 Support qualified method names in proxy while ignoring the namespace 鈥 Support read with non-indexing reader, fixes 鈥 Improve top level macro expansion error location 鈥 Fix pprinting vars 鈥 Add reader-conditional to core vars 鈥 Fix make loading of libs thread safe

馃帀 26
sheepy 6
sci 8
borkdude 12
joyride 4
nbb 6
babashka 4
Matthew Downey18:02:16

Announcing v1.0.1 of (clojure, babashka), with one bugfix for a specific mechanism of running all tests from babashka, plus a README section on

馃帀 24
babashka 8
clojure-spin 4
rich 6

@UP7RM6935 I'm working on a fix in rewrite-clj but with that fix in place, the only tests that are failing are for rct. I'm looking into why this is happening but I have difficulty grokking the failing tests. Is this something you could help with?

Matthew Downey15:02:39

I must be abusing the rewrite-clj API somewhere, let me check

Matthew Downey15:02:47

@U04V15CAJ Nothing coming to mind immediately from looking at the failing tests, so I'll use your PR branch to try some stuff locally. I don't think it has to do with the 1.0.0 -> 1.0.1 bugfix. I won't be at the computer until the evening though. Sorry to be the one library holding this up!


No worries :) Your library might be testing something valuable that I accidentally broke :)

Matthew Downey15:02:23

Btw @UE21H2HHD the canary tests of known dependencies are a cool pattern, I hadn't seen that before

馃憤 2

Babashka also tests a plethora of libraries in every commit

馃槑 2
Matthew Downey15:02:22

Makes a lot of sense!


Gonna take a deep peek sometime very soon!


I'm missing a tiny bit of context here. Was there some existing test suite that helped you discover rewrite-clj has an issue? I'd like to rerun that (if there is one).


@UE21H2HHD For full context: I discovered an issue with rewrite-clj through clj-kondo. The issue is that this crashes:

(rewrite-clj.node/sexpr (rewrite-clj.node/coerce "\\s+"))
I submitted two patches which solve this problem. One of them broke tests in rich-comment-tests. I closed that one now. The other one works.


I don't think @UP7RM6935 has to look into this anymore, probably


I tested rich-comment-test by using local/root in deps.edn and then running:

bb test-clj


Ah ok. Thanks, did not understand where the discovery occurred.


I realize I forgot to add that context in the original issue, sorry


No problemo!