Does meander work with babashka? Has anyone tried?
I haven't tried personally.
@rfhayashi I think I ran into something, but I can't remember what from the top of my head. I do know that this one works: https://github.com/xapix-io/matchete It's a bit of a more basic meander with emphasis on fns instead of macros
> emphasis on fns instead of macros This is only temporary as I mentioned. ๐
Ah right, this was the first thing I ran into:
user=> (require '[meander.epsilon])
Could not resolve symbol: clojure.lang.Compiler/demunge [at clojure/spec/alpha.clj:128:16]
user=>
@borkdude If you remember what it was do post an issue.
Gah, spec! ๐ญ
hmm, meander loads spec ?
Yes, in a couple namespaces, however, those namespaces donโt use it so we can stop doing that.
user=> (binding [clojure.core/*loading-verbosely* true] (require '[meander.epsilon]))
(clojure.core/load "/meander/epsilon")
(clojure.core/load "/clojure/core")
(clojure.core/in-ns 'meander.epsilon)
(clojure.core/alias 'clj 'clojure.core)
(clojure.core/load "/meander/match/epsilon")
(clojure.core/in-ns 'meander.match.epsilon)
(clojure.core/alias 'clojure 'clojure.core)
(clojure.core/in-ns 'meander.match.epsilon)
(clojure.core/alias 'pprint 'clojure.pprint)
(clojure.core/load "/clojure/set")
(clojure.core/in-ns 'meander.match.epsilon)
(clojure.core/alias 'set 'clojure.set)
(clojure.core/in-ns 'meander.match.epsilon)
(clojure.core/alias 's 'clojure.spec.alpha)
Nuking
Alrighty, Iโm on it.
This one's also causing trouble: https://github.com/noprompt/meander/blob/a96e3766a0b342f60952acf1c732a82b831b82fc/src/meander/substitute/syntax/epsilon.cljc#L7 (core.specs.alpha) I do intend to support spec in babashka at one point, but not with the .alpha suffix
Thanks!
Iโm going to fully move the fdefs etc to separate namespaces and drop the requires.
This actually one, for the most part, nice property of specs global, public registry approach.
Nice.
@noprompt The next issue:
Unable to resolve classname: clojure.lang.Var [at meander/util/epsilon.cljc]
I think this:
https://github.com/noprompt/meander/blob/a96e3766a0b342f60952acf1c732a82b831b82fc/src/meander/util/epsilon.cljc#L585
can be written as (:ns (meta var))
@borkdude Thanks again! Iโm nearly done with the spec surgery.