From: Mauricio Fernandez Date: 2008-02-19T19:12:20+09:00 Subject: Re: [ANN] FastRI 0.3.1: faster, Leopard compatibility, etc. On Mon, Feb 18, 2008 at 11:17:52PM +0900, James Gray wrote: > On Feb 18, 2008, at 5:53 AM, Mauricio Fernandez wrote: > >$ ri -T collect_file > >More than one method matched your request. You can refine > >your search by asking for information on one of: > > > > Test::Unit::Collector::Dir#collect_file, > > Test::Unit::Collector::Dir#collect_file, > > Test::Unit::Collector::Dir#collect_file, > > Test::Unit::Collector::Dir#collect_file, > > Test::Unit::Collector::Dir#collect_file > > > >Unfortunately, ri is so slow and buggy that many (me included) find it > >unusable. FastRI is just an usable ri with some extra features (working > >RubyGems support, full-text search, configurable lookup order, better > >search strategies, etc.). > > Amen. > > We had so many bug reports on TextMate's documentation command when we > used ri. We later switched to qri (part of FastRI) and added some > documentation about how to install it. Our bug reports are > practically gone now. When we do see one, we point them at the > install documentation and it solves their problem. > > I really don't understand why we don't toss RI in the standard library > and replace it with the FastRI code. It's RI with more features, it's > faster, oh and it works. What's the downside exactly? It goes against the current trend of moving stuff out of the standard library and distributing it as RubyGems packages. Admittedly, the statu quo is not satisfactory: Ruby ships with a broken tool that gives a very poor image and detracts new users from looking for something better (one naturally expects the standard library to contain best-of-breed components). There are three solutions to this: (1) keep RI in the standard library and fix it. This amounts to rewriting FastRI, though, and duplicating efforts this way would be stupid. (2) remove the "ri" tool from the stdlib (*not* the RDoc/RI library parts, since existing programs, including FastRI, depend on it) and distribute it as a gem, or dump it altogether and let people install FastRI instead (3) replace ri with FastRI's qri in the standard distribution. (1) is silly. I favor (2) because it's the one that demands the least effort from me ;) and it's consistent with matz's intention to make the standard distribution leaner. -- Mauricio Fernandez - http://eigenclass.org