meander 2021-11-04

Is it possible to use a meander to collect all the symbols from the given data? maybe a meander strategy? not really necessary, but it seems like a cool puzzle

Sure, you could use

(m/search x
  (m/$ (m/symbol _ _ :as ?symbol))
  ?symbol)
which will effectively do
(filter symbol? (tree-seq coll seqable? seq x))

(collect-args '[1 ?a 2 [?b {:b ?c}]])
;; => [?a ?b ?c]

heh, I forgot about the existence of m/$

I have already tried meander.strategy/bottom-up, but not much has come out of it

Strategies like bottom-up are mostly for doing postwalk types of transforms.

Now I know 🙂

the strategy is not well described at all, and some of the functions are not in the documentation at all, but maybe when I get the hang of it I will do a PR

Yeah. The strategy namespace hasn't gotten as much attention because it hasn't be promoted so much.

Actually, most of it was originally written by Brandon Bloom and then I started building on top of it.

But the closer m/rewrite got to where I wanted it, I had fewer use cases for that namespace.

Going forward, it should probably be a separate package.