
Nicolas Pouillard wrote:
The TDNR proposal really tries to do two separate things:
1. Record syntax for function application. The proposal is to tread "x.f" or a variation thereof the same as "(f x)"
It is more like "(ModuleToGuess.f x)" than "(f x)".
My point is that desugaring "x.f" to "(f x)" and treating some instances of "(f x)" as "(ModuleToGuess.f x)" are two separate things. In the current proposal these two are combined, but I see no reason to do so. To be a bit more concrete, I would propose: * General Type Directed Name Resolution (GTDNR): For every function application "f x" in the program where "f" is a name, "f" is resolved based on the type of the argument "x". Note that I am not saying that this is necessarily a good idea, it is just a possible alternative to the current TDNR proposal. Twan