I'm increasingly persuaded that languages implementations should not expose an AST and probably shouldn't have it in the stdlib either.
Static analysis tools need a richer data structure, and want to parse different language versions. It's better as a standalone library.
miniblog.
Related Posts
I've been learning some Common Lisp by writing some simple JSON munging programs. I'm sure it's not best practice — I should probably deserialise to CLOS automatically — but it's a nice way to get comfortable with the basics.
It feels weird deliberately ignoring helpers though.
I'm still experimenting with patch display in difftastic.
The change to the imports are clearer in the patch mode, but the side-by-side mode does make the if/else changes more readable.
Patches are probably worthwhile anyway due to their machine readability.
What piece of syntax has the most different meanings?
I realised today that `as` is extremely overloaded. It can be used for aliasing imports (Python), type casts (Rust), binding pattern match variables (OCaml), type assertions (Hack) and probably many others.

