J has 'monads' but they're just functions that take a specific number of arguments. Terminology overloading is unfortunate.
miniblog.
Related Posts
It seems really odd to me that git uses 'cached' terminology for staging. For example, `git add somefile.rs; git diff --cached`.
Caching implies state that you don't mind losing. There's very little state I want to lose in version control!
I see that *up has become an increasingly common name for toolchain installers: rustup, ghcup, even juliaup.
I think Rust was the first to use this terminology? I'm curious how similar the different *up tools are.
I'm a huge fan of Swift's 'Error Handling Rationale' design document: https://github.com/swiftlang/swift/blob/9315673c003875158852579bd1f33480cdec5461/docs/ErrorHandlingRationale.md#fundamentals
It carefully defines terminology and compares with other languages, so you can understand Swift's position and preference in the design space.