I don't see any reason to actively prevent code-logic at any point. Unless there's some systemic flaw to such a consideration I have yet to understand.

If the user doesn't need any logic in their declaration, they don't need to use any.
If the user does need logic in their declaration, they shouldn't run into a brick wall of "we turned that off because we thought you wouldn't need it".

As far as project declarations go, I suggest we keep things relatively logical, define a project-declaration as a class, thus inheritance can allow for extensible-flexibility without curtailing the "simplest" case - and of course python's support for dictionaries can allow for whole stacks of settings to be passed around.

On 25 October 2016 at 20:25, Rene Rivera <grafikrobot@gmail.com> wrote:
On Tue, Oct 25, 2016 at 1:57 PM, Vladimir Prus <vladimir.prus@gmail.com> wrote:
On 25-Oct-16 9:47 PM, Stefan Seefeld wrote:
On 25.10.2016 14:45, Klemens Morgenstern wrote:
Yes, I do in fact envision two languages here and this thread is about
the implementation, NOT the usage, i.e. the target-declarations. So if
you only use the features provided by the system, you'd neither need
python nor C++. But if you need an extension you write in in Python or
C++. I.e. if you have a small one, use python, if you have a big one
(e.g. Java) use C++.

So if I start a new project and I want to use Boost.Build for it, how
many languages do I need to know to write the build system ? (I'd find
anything other than '1' unacceptable.)

I think the answer depends on whether people will like Python syntax
for declaring targets.

I don't think that's the only consideration. There's also:

* Should we allow code logic in the project declarations?
* Should we allow code logic to a limited extent?
* If we disallow code logic.. How do we support project specific logic (since every project is likely to want something)?

I.e. Where do we draw the declaration vs. logic line?
 
--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build