Re: R-alpha: Misc problems

Kurt Hornik (Kurt.Hornik@ci.tuwien.ac.at)
Tue, 18 Feb 1997 16:48:12 +0100


Date: Tue, 18 Feb 1997 16:48:12 +0100
Message-Id: <199702181548.QAA13895@aragorn.ci.tuwien.ac.at>
From: Kurt Hornik <Kurt.Hornik@ci.tuwien.ac.at>
To: Martyn Plummer <plummer@iarc.fr>
Subject: Re: R-alpha: Misc problems
In-Reply-To: <199702180855.JAA13020@hypatia.math.ethz.ch>

>>>>> Martyn Plummer writes:

> At 20:53 17/02/97, ihaka@stat.auckland.ac.nz wrote:
>> In the interests of compatibility I have already added code which
>> provides "stretchy" vectors and lists for the next version.  There is a
>> lot of code which uses this facility.  I have been checking our object
>> system code by running Bill Venables "polynomial" class code and it
>> uses this facility.

> This is a shame.  I understand that it is necessary for compatibility
> with S, but I really preferred the more rigorous approach of R. I
> found quite a few bugs running programs under R which slipped by
> unnoticed in S.

> Would it be possible to have an option which switches off stretchy
> vectors for people who want to write cleaner and more efficient code?
> And does anyone else want this?

The problem with having compatibility OPTIONS is that one may run into
mutually incompatible packages (e.g., libraries) because they require
particular settings of the options.  For example, the author of Octave
(a public-domain math system with a C++ class library and a MATLAB-like
command interpreter) has been adding a variety of options (variables)
that allow MATLAB compatibility although he thought that the right thing
to do would be different.  It turns out that this can make it hard to
write ``good'' code because the user could `break' things by setting
certain options.

I think it would be better to support bad design where it is possible
and convenient, but keep issueing warnings etc.  Ideally, this could
result in code improvements ...

-k
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
r-testers mailing list -- For info or help, send "info" or "help",
To [un]subscribe, send "[un]subscribe"
(in the "body", not the subject !)  To: r-testers-request@stat.math.ethz.ch
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-