On Mon, 2020-05-18 at 21:40 -0400, Daniel Herring wrote: > This decision causes a difficult and error-prone ambiguity when the > return value is really true and empty. For example, the operation > succeeded and the result was "", versus the operation failed and thus > returned "". So Scheme added separate #t and #f values, C++ added > true and false keywords, newer languages are adding an > "optional/maybe" construct, etc. > > The present Make behavior is perfect for things like dependency > lists. However, it feels limiting for other use cases.
I would prefer to talk about concrete issues so we can consider them. I personally haven't run into situations where the fact that "" equates to false is a problem but obviously others may have very different experiences. I'm really reluctant to start adding new higher-level language features to GNU make unless there is a clear and obvious need that can't be reasonably addressed any other way.