|
|
|
|
|
by happytoexplain
654 days ago
|
|
This is a frustratingly common reply to "why is this example unintuitive" across software. Just because the problem may be higher up the chain, even up to the design of the system, doesn't mean it isn't a problem that has real consequences. E.g. in this case, one possible solution is to not have the concept of "falsy" and "truthy", forcing 'all' to take a mapping closure (which may necessitate other changes, to the point where you now have essentially a completely different language). It's useful to call these things out every time they trip us up, if not to fix them, then to avoid them next time somebody starts from scratch. |
|
However there are domain cases where empty lists still make sense, so you're still going to have to account for them in a rational way, and that means logically consistent, and I guarantee we will be back to what you don't like. But that's ok.
Now where you've pissed me off is this bit
> n this case, one possible solution is to not have the concept of "falsy" and "truthy"
and
> forcing 'all' to take a mapping closure
Perhaps you could un-piss me off by explaining what the bloody hell those two are supposed to mean – pretend I'm a language designer that interested in your idea (which actually I am) – what are you asking me to implement?