CLIs are reified UIs: https://www.expressionsofchange.org/reification-of-interaction/
Interesting exploration of what properties a text interface provides, and what it means for computer interaction.
miniblog.
Related Posts
My 3.5yo is learning to use a mouse, and it's super interesting.
He's mastered clicks and drags, but he hasn't yet figured out lifting up the mouse when run out of mouse pad. That's a tricky case where you deliberately break the relationship between mouse and cursor movement.
Futhark's design is deliberately trying to stay simple to keep long term design sustainable.
The author also has an interesting discussion of relative versus absolute paths in import syntax, and how relative paths can make local analysis easier.
Terminad is a really interesting approach to rendering markdown in the CLI. It deliberately doesn't render links, so you can always see both the link text and the URL.
In a browser you have hover to see URLs, but not necessarily in a terminal.