In LSP, a position is represented as a line number and a column offset (in Unicode code units): https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#position
This is pretty elegant. You'll get the correct line regardless of encoding bugs, and the editor already knows the line number so it's cheap to compute.
miniblog.
Related Posts
Go has an elegant approach to defining example functions, which are shown in docs as `main()` with the output:
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.
tap> is an elegant Clojure debugging feature: it passes the argument to any functions registered with add-tap.
You might set up a custom printer for your data type, or save values for later examination, and you can easily disable the tap too.
