Writing macros in lisp is straightforward, but providing good error message is much trickier. The Racket docs have an excellent discussion of writing a mylet macro with clear errors that reference which part is wrong: https://docs.racket-lang.org/syntax/stxparse-intro.html
miniblog.
Related Posts
Has anyone built a great solution to 'run all my unit tests automatically'?
It's straightforward to write a while loop in bash, but handling timeouts, syntax errors etc well is hard.
Running on save would be good, although I wonder if you could run fast tests on each keystroke.
Difftastic is the first time I've ever shipped a binary on Windows. It was surprisingly straightforward.
Rust has good Windows support, and GitHub Actions means I don't need to set up a Windows toolchain locally.
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.
