Hi > > > Foo.Foo.Prelude.200.bar v217 v218 = ... > > I don't see where the Prelude bit came from, but I'm assuming that the > second "Foo" was a typo for lower-case "foo".
Thin air. And no typo, it duplicates the module name twice. > FWIW, my preference would be to keep a reference to the enclosing > function name in the local name, e.g. > > Foo.foo.200.bar > > This style has the advantage of remaining decipherable by the careful > reader. "bar" is a local definition within "Foo.foo", and because there > are potentially many different local "bar"s within different clauses of > "Foo.foo", the number disambiguates. I agree, which necessitates Foo;foo.200.bar, to split the components back up. > Even better if the number was > essentially a line number or similar (clause number?), to make it even > more readable. It can't be a line number, since you can potentially put two clauses on the same line. You could certainly do better with the desugaring, but I think a more annoying desugar problem comes with _LAMBDA's which crop up quite a bit, and have absolutely nothing tying them back to their original location. Thanks Neil _______________________________________________ Yhc mailing list Yhc@haskell.org http://www.haskell.org/mailman/listinfo/yhc