From: Dave Thomas Date: 2008-03-18T23:42:31+09:00 Subject: Re: complex and rational On Mar 18, 2008, at 8:41 AM, Paul Brannan wrote: > Do you feel the same way about 'thread' and 'time'? Actually, yes, but I can live more easily with than than with complex and rational. If I say "require 'complex'" I expect it to add class complex to my runtime. Instead, we have a situation where I already have Complex there, and requiring something called 'complex' actually does something different--it actually hits just about every math class but never does _anything_ to class Complex. So, I'd want to see one of two things: either Complex is initially nascent and then wakes up when you require 'complex', or have complex.rb renamed. Perhaps require 'math_traits' MathTraits::include :complex, :rational or somesuch. (This would also give us the benefit of finer-grained control. For example, we could choose just to add support for Complex transcendentals). Don't get me wrong--I like having them around. But sometimes when documenting things for the PickAxe, I find myself struggling to describe the rationale behind something. When that happens, I try to raise it as a potential issue in case the thing I'm describing could possibly be improved in the underlying language. It's the same thing as with Enumerable.member?. I don't see when 1..3 includes 2.5 but 'a'..'b' does not include 'am'. I understand the underlying implementation perfectly--I struggle to explain the reason it is the way it is. Dave