One underrated perk of string interpolation: it arguably simplifies type checking.
If you have a format() function you need to support variadic functions and even format specifiers in the type system.
miniblog.
Related Posts
Trying to let my 3yo try as many different technology interfaces as possible.
Mouse: not too bad, especially after reducing sensitivity.
Keyboard: WASD is easy to lose track of in a sea of buttons.
Controller: requires both hands together, which is tricky. Arguably the left hand is more important too, hard for a right hander.
Today I learnt that Racket *intentionally* doesn't have a traditional REPL workflow. The authors were concerned about students not understanding the state between the current session and the code on disk.
(Arguably Jupyter has some of these features now.)
Doing another iteration on my diagnostics display. I'm reasonably happy with the bold highlighting within the error message.
I'm not sure about the colour on Warning and Error though. It gives the output some visual structure, but arguably the message itself is more important.

