Boost logo

Boost-Build :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-03-28 00:13:55


The bugs are now fixed. Please enjoy the new semantics ;-)

To recap, every module has its own dynamic scoping stack. Whenever you
enter a module via module { ... } or via calling a rule in that module,
your variable bindings "start over" as though execution had never left
the module. You can use the rules modules.peek and modules.poke to
access bindings in other modules, and you can use modules.call-in should
you ever need to call a rule by name in the context of another module
(rare).

-Dave

P.S. We should try to map out a timeline for upcoming work. Steve K.,
I'd appreciate any input you have about how to manage progress on the
rewrite.

----- Original Message -----
From: "David Abrahams" <david.abrahams_at_[hidden]>
To: <jamboost_at_[hidden]>
Sent: Wednesday, March 27, 2002 5:22 PM
Subject: New module scoping rules

> OK, I've checked in the changes which implement the new rules.
> Unfortunately, the subtle changes in variable scoping change the
meaning
> of some of the trickier constructs. The tests in tools/build/new are
> currently failing; I would appreciate any help in clearing the
problems
> up.
>
> Thanks,
> Dave
>
> +---------------------------------------------------------------+
> David Abrahams
> C++ Booster (http://www.boost.org) O__ ==
> Pythonista (http://www.python.org) c/ /'_ ==
> resume: http://users.rcn.com/abrahams/resume.html (*) \(*) ==
> email: david.abrahams_at_[hidden]
> +---------------------------------------------------------------+
>

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk