• 3 Posts
  • 36 Comments
Joined 1 year ago
cake
Cake day: June 27th, 2023

help-circle







  • One problem with exceptions is composability.

    You have to rely on good and up-to-date documentation or you have to dig into the source code to figure out what exceptions are possible. For a lot of third party dependencies (which constitute a huge part of modern software), both can be missing.

    Error type is a mitigation, but you are free to e.g. panic in Rust if you think the error is unrecoverable.

    A third option is to have effect types like Koka, so that all possible exceptions (or effects) can be checked at type level. A similar approach can be observed in practical (read: non-academic) languages like Zig. It remains to be seen whether this style can be adopted by the mainstream.











  • If you execute a binary without specifying the path to it, it will be searched from the $PATH environment variable, which is a list of places to look for the binary. From left to right, the first found one is returned.

    You can use which cat to see what it resolves to and whereis cat to get all possible results.

    If you intentionally wants to use a different binary with the same name, you can either directly use its path, or prepend its path to $PATH.