[ ccing the list because the wiki page was flawed and I made a bunch of changes, hope you don't mind ]
> Thanks Evan, but I think that wiki page isn't doing your > proposal justice. There seem to be several typos in critical > places that make it hard to follow (for me at least). Sorry about the sloppy editing. I updated it and added more detailed examples. I also realized that as stated it didn't quite work for lens updates, so I extended it a little. > I think it would really help to include a record decl. to > show where `a` comes from, especially since you say that > record syntax doesn't change. Good point, added. > Could you explain what the TH does. Perhaps give an example > of what gets generated from a record decl? Sure, I added an example of that too. > And perhaps you could explain what you mean by a "type > directed function"? Aren't all overloaded functions type > directed? Can I have both a `#f` and a `f` in scope? What's > the difference? The idea is they're not overloaded functions. #f is not a symbol that can be in scope, it's special syntax to go *find* a `f` in some module. So `x = #f` is not in conflict with `x = f` provided #f is desugared to SomeModule.f. Unless of course the argument is defined in the current module, in which case it will desugar to plain `f` and then they will be the same. Since it's syntax for resolving a name, assigning it like `#f = xyz` doesn't make sense since you can't put a qualified name on the left of an `=` sign. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe