Thursday, July 28, 2005

resolution order

Reference resolution has 3 stages:

s1: determine the applicative context. This is the current item, its parents, grandparents, etc., as well as any includes found on these items.

s2: determine the visible topics. This includes the applicative context and their children and anything that is named by items in the applicative context.

s3: determine the referencable items. This includes the visible topics and their children and anything that is named by the visible topics.

Unfortunately, the process is depth-first. So a non-visible but referencable topic, if encountered early, is given preference over a visible topic or even a topic in the applicative context. In consequence, resolution order is pretty unpredictable. Ouch!

This has been a known problem. It makes the output of the t command moderately useless. I think its time to address it, so I'm adding it to CS1.5.

0 Comments:

Post a Comment

<< Home