4 ms·
I think if they add sum types and pattern matching or otherwise make this feature possible, it will completely change the way people write Go code and it would
by Peaker 14y ago
I think if they add sum types and pattern matching or otherwise make this feature possible, it will completely change the way people write Go code and it would become a very different language.
Consider all the error-checks in Go -- these are all incorrect from a boolean-blindness perspective, and that would be a lot of code to rewrite if they add proper constructs to Go. Thus, I really believe it is just a mistake -- one that is only possible to make out of ignorance.
- CasualSuperman 14y agoBecause Go is concurrent and has mutable types, race conditions could cause the assumptions gleaned from the booleans to be false in the very next statement. Boolean blindness is a result of the language.
- Peaker 14y agoNo, that's false -- consider the Maybe case. If you carry around the content of the Maybe, it will still remain valid even after the Maybe itself is overwritten. Races are of course still possible but they don't relate to boolean blindness.
- CasualSuperman 14y agoSo you want to copy the data every time there's an if? Some other part of the program could have a pointer to it otherwise.