meander

All things about https://github.com/noprompt/meander Need help and no one responded? Feel free to ping @U5K8NTHEZ
2020-11-16T17:39:53.275100Z

Does meander work with babashka? Has anyone tried?

๐Ÿ‘ 1
jimmy 2020-11-16T17:49:02.275200Z

I haven't tried personally.

borkdude 2020-11-16T18:06:14.275400Z

@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

noprompt 2020-11-16T18:23:30.275800Z

> emphasis on fns instead of macros This is only temporary as I mentioned. ๐Ÿ™‚

borkdude 2020-11-16T18:23:57.276Z

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=>

noprompt 2020-11-16T18:23:58.276200Z

@borkdude If you remember what it was do post an issue.

noprompt 2020-11-16T18:24:19.276400Z

Gah, spec! ๐Ÿ˜ญ

borkdude 2020-11-16T18:24:22.276600Z

hmm, meander loads spec ?

noprompt 2020-11-16T18:25:58.276800Z

Yes, in a couple namespaces, however, those namespaces donโ€™t use it so we can stop doing that.

borkdude 2020-11-16T18:26:24.277200Z

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)

noprompt 2020-11-16T18:27:21.277400Z

Nuking

noprompt 2020-11-16T18:28:12.277600Z

Alrighty, Iโ€™m on it.

borkdude 2020-11-16T18:28:50.277800Z

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

noprompt 2020-11-16T18:29:05.278300Z

Thanks!

noprompt 2020-11-16T18:30:12.278500Z

Iโ€™m going to fully move the fdefs etc to separate namespaces and drop the requires.

noprompt 2020-11-16T18:30:43.278700Z

This actually one, for the most part, nice property of specs global, public registry approach.

borkdude 2020-11-16T18:30:56.278900Z

Nice.

borkdude 2020-11-16T18:38:59.279100Z

@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))

noprompt 2020-11-16T21:28:55.280Z

@borkdude Thanks again! Iโ€™m nearly done with the spec surgery.