On 22. Nov 2017, at 15:42, Stefan Seefeld via Boost
wrote: # define some actions compile = action('c++.compile', 'c++ -c -o $(<) $(>)') Like Hans, I've also never been fond of $(<) or $(>). You invoke Make heritage here for the terseness, while previously you justified Boost.Build rewrite into Faber on clarity grounds. You can't have it both ways Stefan ;)
From a Shell perspective, $(<) evokes input to me, and $(>) output, the reverse of what they likely mean above, given the -o. Playing devil's advocate I guess.
From the C++ community I had expected a different reaction. Or perhaps the above should be spelled '<<' and '>>' ? :-)
You could maybe use $(in) and $(out). There is no ambiguity then and there are not many more characters to type either.
But more seriously, I had hoped the discussion to be more focussed on general design than on spelling.
I value code readability (which includes avoiding ambiguity) a lot, as you can see in the other thread concerning the histogram library. It is not just bike-shedding, if there is an alternative that is less ambiguous/easier to read.
I expect the majority of users will never see (nor care about) how actions are defined, as they will merely use pre-defined built-tin actions such as `c++.compile`, `fileutils.copy`, or `python.run`.
I don't know about that. And also, why not make life more pleasant for the power user as well, who needs custom actions? Ideally, a software is appealing to both the casual and the power user.