News for hackers. Stuff that matters.
Re:Lies we tell ourselves to keep using Golang by pyrale on Tuesday November 26, 2024 @05:43AM (#42244494)
> A function that returns something other than Result has to either call only infallible code or panic on error

...Or solve the problem. A library function that can be a source of issues and can't fix these issues locally should simply not be returning something that is not a result in that paradigm.

> since something can go wrong in most code

That is not my experience. Separating e.g. business logic which can be described cleanly and e.g. API calls which don't is a clear improvement of a codebase.

> the whole codebase converges as time goes to infinity on having Result everywhere.

As I said previously, it is pretty easy to pipe a result value into a function that requires a non-result as input. This means your pure functions don't need to be colored.

Re:Lies we tell ourselves to keep using Golang by quotemstr on Tuesday November 26, 2024 @08:48AM (#42245681)
> Or solve the problem. A library function that can be a source of issues and can't fix these issues locally should simply not be returning something that is not a result in that paradigm.

People "solve" this problem by swallowing errors (if you're lucky, logging them) or by just panicking. It's the same problem that checked exceptions in Java have: the error type being part of the signature constrains implementation flexibility.

Re:Lies we tell ourselves to keep using Golang by ViewTrick1002 on Tuesday November 26, 2024 @10:53AM (#42246789)
In my experience an unwrap, expect or panicking function is a direct comment in code review and won’t be merged without a reason explaining why panicking is acceptable.