My syntactic diff tool basically works!
Diffing trees and printing them in a comprehensible way is extremely tricky. I'm hoping to get something I can release once I've hammered out the bugs.
WIP code is at
miniblog.
Related Posts
I really like interpreters that allow you to inspect values, such as the JS console in a browser or Common Lisp with sly.
Otherwise you end up repeatedly pretty printing values. It's unnecessary.
Shower thought: Printing runtime values is far more useful for product types than sum types.
For a struct it's useful to see all the fields, but for a nullable int it's less useful to see 123.
Reporting a type error is fairly straightforward: making a good suggestion of how to fix it is much harder. I was really impressed with rustc's handling of Path printing here.

