From: Christoph Date: 2002-06-13T04:02:40+09:00 Subject: Re: a new block parameter/variable notation (Re: ruby-dev summary 17252-17356) "Tobias Reif" wrote in .... > > And *I was wrong*. This rule is the single biggest design flaw in > > Ruby. > > > Perhaps Rite / Ruby 2+ is a chance to fix this and similiar issues? > > I think sometimes, non-backwards-compatible changes are OK, if done in a > transparent way. > People can continue to use Ruby 2- programs with 2- interpreter > versions, and update to 2+ versions as soon as the need arises, by > making some changes to the existing programs. Maybe it is actually possible to mix new and old behavior within a single interpreter even in the 1.7 - 1.8 series reminiscent to the ``from __future__ import'' mechanism in the Python world, where they seem to have a lot of experience in overcoming single biggest design flaws;-). Irony aside, Python actually seem to be rather successful in introducing incompatible language changes. A probably brain dead idea coming to my mind is changing the value of a (or more then one?) global variable(s) appropriately. For example, before and after importing (requiring) a library, you would to set $behavior = 'future' require 'new_fancy_lib' # back to the old way $behavior = `backward' # 'redneck' you name it ... /Christoph