You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
~/c/planck-scatch> plk -D "com.taoensso/truss:1.5.0"
ClojureScript 1.10.238
cljs.user=> (require 'taoensso.truss)
WARNING: Use of undeclared Var taoensso.truss.impl$macros/Throwable at line 23 taoensso/truss/impl.clj
Could not eval taoensso.truss.impl in file taoensso/truss/impl.clj
Assert failed: Argument to resolve must be a quoted symbol
(core/and (seq? quoted-sym) (= (quote quote) (first quoted-sym))) at line 80 taoensso/truss/impl.clj
Quick update: from a quick skim of Planck's docs, it does appear to me that adding support for Planck might unfortunately be non-trivial.
A couple potential issues:
Macros apparently cannot call other macros during expansion without modifying the namespace file structure.
Getting macros to work well with Clojure, tools like shadow-cljs, and Planck all together seems like it could be troublesome? From what I can tell, Planck wants macros in .clj/c files but will process only :cljs conditional branches. So it seems like macros in .cljc files need to choose between a :clj conditional (which is preferred by shadow afaiu, and helps to reduce build times and the risk of unnecessary output) and an unconditional macro (which seems to be necessary for Planck).
There seems there may be a fair amount of complexity here to sort out, I'd need to spend a fair chunk of time understanding the details to really judge the viability here.
The ideal would be if there were some guidelines for library authors with some examples to show how to satisfy Planck's requirements without negatively impacting other builds/tooling. I suspect that's probably possible with the right approach, it's just unclear to me how much such an approach would impact my usual patterns / workflow.
Planck looks really cool, would be great to support it if possible. But realistically, would need either some clear guidance on the above - or a strong motivation (e.g. wide user demand) to try dig further and experiment.
If you or others are strongly interested in this, please share any details you can re: intended use cases!
You're probably already aware, but just in case:
Mike Fikes has a good explanation here: planck-repl/planck#734
The text was updated successfully, but these errors were encountered: