This is really elegant idea: provide a tool for rewriting graphQL queries so you can change your schema without breaking clients!
https://github.com/ef-eng/graphql-query-rewriter
(Reminds me of programming languages that provide automatic upgrade tools, such as `go fix`.)
Related Posts
Go has an elegant approach to defining example functions, which are shown in docs as `main()` with the output: https://go.dev/blog/examples
Bril is a cute intermediate language for teaching (think simplified LLVM IR): https://www.cs.cornell.edu/~asampson/blog/bril.html
The idea of providing a standard JSON format to help students write basic passes is really elegant.
Today I learnt that `cargo fix` won't fix code with compiler errors by default, but you can override this!
$ cargo fix --broken-code --allow-dirty && cargo clippy --fix --allow-dirty
This incantation does exactly what I wanted :)