Alexander Kellett wrote: > yes > i've coded in c++ also in which pass by ref is possible > and abhor it > pass by ref is just plain evil > pass by ref in which the *caller* states that > its a ref, (as in c via a ref and a de-ref of ptrs), > is okay in my books, but implicit anything sucks Actually, I absolutely agree with you. I do beleive in functional design. the idea that the effect are coming out on the left side and the input is gogin in on the right. Very good. Unfortunately Ruby isn't pure by-val. I don't know why exactly, maybe there are good reasons --probably performace related. But since it isn't by-val I don't think it does a whole lot of good to a have a partial barrier. The fact is, one must be aware the parameters going in to a method, might be altered in route. Giving the odus of duck-typing, i.e. we may not know what type of object is being fed our methods necessarily, this might or might not happen dependent soley on the type of object. A quick example just to make myself clear: class A def mud(x) ; x + 1 ; end end class B def mud(x) ; @x += 1 ; end end def quasi_mud(x) x.mud end a = A.new b = B.new quasi_mud(a) # a remains just as it was quasi_mud(b) # b is no longer the same T.