
On 30-Jun-2004, Malcolm Wallace
The problem here is that the Hat transformation introduces three replacement definitions for the original function: a worker, a wrapper, and an atom. The worker is used on the RHS of the wrapper definition, and the atom is used on the RHS of the worker definition. These RHS usages should be qualified for disambiguation. Thus, hat-trans ought to check whether a top-level variable is already in scope at its point of definition, and if so, qualify those newly introduced uses.
Another possible alternative would be _always_ qualify the newly introduced uses, regardless of whether the variable is already in scope or not. Perhaps that would require less new plumbing? Cheers, Fergus. -- Fergus J. Henderson | "I have always known that the pursuit Galois Connections, Inc. | of excellence is a lethal habit" Phone: +1 503 626 6616 | -- the last words of T. S. Garp.