[RC Diary] Mutating one thing at a time (-61)

Cerebro

multiple versions of the same file should be created, with one mutation applied in each, in a different spot.

The most readable and simple approach could be something like this:

a ClojureScript function that recursively looks through the AST for a match with a given function

if a match is found a mutation is applied to a copy of the AST and returned

we then proceed with the original AST, just further down the tree

The problems I see here are:

the walking function will quickly go out of sync with the advancement of language syntax

I don't see how I could use a JavaScript library for AST traversing and accumulate results

The last problem is the tricky one, because I don't know how to pass a reference of a ClojureScript data structure to a
JavaScript module and mutate that referenced object. I think I will go with my own traversal implementation, so I have full
control on how I want to collect results and do mutations.

This whole thing took me a day to realise, and I'm still unsure on how to approach details.