This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-02-07
Channels
- # announcements (32)
- # asami (11)
- # babashka (5)
- # babashka-sci-dev (4)
- # beginners (65)
- # biff (11)
- # calva (35)
- # clerk (2)
- # clj-kondo (14)
- # clj-on-windows (4)
- # clojars (4)
- # clojure (122)
- # clojure-canada (1)
- # clojure-europe (31)
- # clojure-italy (6)
- # clojure-nl (1)
- # clojure-norway (7)
- # clojure-spec (3)
- # clojure-uk (2)
- # clojurescript (3)
- # core-async (7)
- # core-logic (1)
- # data-science (13)
- # datalog (3)
- # datavis (3)
- # datomic (15)
- # deps-new (4)
- # emacs (34)
- # figwheel-main (1)
- # fulcro (1)
- # funcool (1)
- # holy-lambda (10)
- # lsp (41)
- # malli (24)
- # membrane (5)
- # midje (1)
- # off-topic (5)
- # polylith (3)
- # proletarian (6)
- # re-frame (6)
- # reitit (6)
- # remote-jobs (4)
- # sci (1)
- # shadow-cljs (96)
- # sql (31)
- # testing (23)
- # xtdb (49)
New: https://github.com/zalky/reflet is a set of tools for building https://github.com/day8/re-frame + 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: https://github.com/zalky/reflet
Indeed!
This may be just what I need for a side project I've been thinking about for years.
wow, that visual debugger is very impressive! like a Smalltalk object viewer but for dataflow.
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.


https://github.com/babashka/sci: Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
SCI is used in https://github.com/babashka/babashka, https://github.com/babashka/nbb, https://github.com/nextjournal/clerk, https://github.com/BetterThanTomorrow/joyride/ and many https://github.com/babashka/sci#projects-using-sci 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 \"README.md\")"
{: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
• https://github.com/babashka/sci/issues/862: fix JS constructor from class in CLJS namespace
• Improve error location in macroexpansion
• https://github.com/babashka/sci/issues/867: Support add-watch
and remove-watch
on sci.lang.Var
• https://github.com/babashka/sci/issues/648: 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 https://github.com/babashka/babashka/issues/1465
• Improve top level macro expansion error location
• Fix pprinting vars
• Add reader-conditional
to core vars
• Fix https://github.com/babashka/babashka/issues/1482: make loading of libs thread safe





Announcing v1.0.1 of https://github.com/matthewdowney/rich-comment-tests (,
), with one bugfix for a specific mechanism of running all tests from babashka, plus a README section on https://github.com/matthewdowney/rich-comment-tests#use-with-babashka-tasks.



@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. https://github.com/clj-commons/rewrite-clj/pull/215 I'm looking into why this is happening but I have difficulty grokking the failing tests. Is this something you could help with?
I must be abusing the rewrite-clj API somewhere, let me check
@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 :)
Btw @UE21H2HHD the canary tests of known dependencies are a cool pattern, I hadn't seen that before
https://github.com/babashka/babashka/blob/master/test-resources/lib_tests/bb-tested-libs.edn
Makes a lot of sense!
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