On Wed, 25 Jul 2001, Paul Prescod wrote:
> I don't think that is true -- especially in dyamically typed languages.
> There is no way to add a "write3lines" method to every object in the
> system that has a file-like interface. To properly take advantage of

Well, if a programmer never-ever declares anything, he gets a result that
goes with his effort. A lot of declarations may be dead weight, but if you
use an empty module called FileP (or FileInterface) and include it into
all File-compatible classes, then you can add write3lines easily like
this, by reusing your interface module as a mixin module:

module FileP
	def write3lines(a,b,c)
		[a,b,c].each {|x| puts x }
	end
end

that's the advantage of making *some* things explicit.



On Wed, 25 Jul 2001, Baschino wrote:
> With Ruby, however, the whole stir-up that an advancement causes such
> as can be seen in the discussion of PEP238 on the Python news group
> can easily be avoided in Ruby thanks to its inherent deeper OO
> character and the absence of a dichtomy between built-in types and
> classes, i.e. you can just redefine the /-operator rather than making
> an incompatible change in the language.

This ability of Ruby doesn't buy you much when you are depending on
libraries that depend on division on integers giving an integer. It only
really works in a controlled universe.



On Thu, 26 Jul 2001, Peter Hickman wrote:

> It is not unusual that there are more Smalltalk people here than
> anywhere outside of a Smalltalk NG. Ruby does OO well and Smalltalk
> programmers are rather fussy about their OO, to me it is a sign that
> it has been done right. Now if we could design something to get the
> Lisp people on board...

Well, that's partly what RubyAST.rb and alternative parsers were supposed
to be about.

BTW my work on RubyAST is halted until i have a ruby-in-ruby parser I can
play with. The issue is that although I want RubyAST to be more central
than a parser, i can't actually tune it to be easy to use until I have a
parser to play with :-(



matju