From: Eleanor McHugh Date: 2010-09-29T21:33:27+09:00 Subject: [ruby-core:32628] Re: Proposal for Optional Static Typing for Ruby It strikes me that much of the premise behind this thread is misguided as it overlooks the importance of meta-programming in developing any Ruby program of substantive size. Where a Java or C++ programmer might write a factory method to create instances of a class and spend much of their effort enumerating types explicitly, it's not unusual in Ruby to write meta-programs which create a variety of class and method definitions on request to create or repurpose object instances for the task at hand. I have great difficulty seeing how static type annotations could adequately cope with this, making them much more useful to new Rubyists than their more-experienced peers. That could be a two-edged sword as it would reinforce the idea that nominal types are a good fit with Ruby to the very people who are least likely to embrace structural typing. A more profitable place to look for inspiration in building tools that support Ruby development would be amongst dynamic languages such as Smalltalk, Lisp and Forth. Like Ruby none of these assume a single compilation phase which fixes type properties indefinitely. Ellie Eleanor McHugh Games With Brains http://feyeleanor.tel ---- raise ArgumentError unless @reality.responds_to? :reason