On Friday, 14 March 2014 at 23:25:47 UTC, Timon Gehr wrote:
On 03/14/2014 11:50 PM, deadalnix wrote:
...
"Any attempt to resolve a symbol will create a poison at the
corresponding entry. ... Construct of priority 2 are
evaluated in
order of appearance in the source."
Order of appearance in the source is not well-defined. There
can be
circular imports. In any case, strategies dependent on
declaration
order at all do not result in predictable/flexible enough
semantics in
my opinion. One would need to reduce in parallel until
analysis is
completely stalled on lookups of unpoisoned symbols. Then one
poisons
all the stalled lookups in the topmost strongly connected
component of
the lookup-dependency-graph at once.
Order of inclusion only matter for symbol in socpe when
compile time
construct are present. They may introduce random symbols, it
do not
seems possible to make them independent of order in the source
code in a
paradox free manner. I have no proof of this, and I'd be happy
to be
proven wrong.
...
It can be done. (What I described above works strictly better
than the DIP afaics.)
It is difficult to judge, you didn't provided many details. I
don't see how your proposal could work without having significant
risk of heavy backtracking. Can you precise what you have in mind
?