On Sun, Jun 9, 2013 at 12:53 AM, Jonathan M Davis <jmdavisp...@gmx.com>wrote:
> On Sunday, June 09, 2013 17:12:16 Daniel Murphy wrote: > > "Andrei Alexandrescu" <seewebsiteforem...@erdani.org> wrote in message > > news:koncgm$9f5$1...@digitalmars.com... > > > > > On 6/5/13 2:55 AM, Timothee Cour wrote: > > >> What I suggested in my original post didn't involve any > > >> indirection/abstraction; simply a renaming to be consistent with > > >> existing zlib (see my points A+B in my 1st post on this thread): > > >> > > >> std.compress.zlib.compress > > >> std.compress.zlib.uncompress > > >> std.compress.lzw.compress > > >> std.compress.lzw.uncompress > > > > > > I think that's nice. > > > > > > Andrei > > > > This has the problem that you now can't import more than one compression > > module and still use ufcs. The annoying one I keep hitting in phobos is > > std.file.write vs std.stdio.write. For range-based APIs it is a huge > pita > > to have to switch away from ufcs. I think xyzCompress is still pretty > > sweet, consistent, and completely fixes the problem. It has the added > > benefit that you can tell which compression algorithm is being used > without > > having to know what is imported. > > That can be fixed by using a local alias, but it's true that it's an extra > annoyance. > > - Jonathan M Davis > which is why I have suggested supporting UFCS with fully qualified function names: auto a="".(std.path.join)("\n"); myfile.(std.file.write)(text); text.(std.stdio.write); see post: support UFCS with fully qualified function names (was in "digitalmars.D.learn") http://forum.dlang.org/post/mailman.1453.1369099708.4724.digitalmar...@puremagic.com it also helps searchability: if one uses local aliases such as import std.stdio:write2=write, naive searching via grep 'write(' will miss such cases. The increase in complexity is minimal, and the feature makes sense with the rest of the language.