From p.dalgaard@biostat.ku.dk  Sat Mar 21 09:00:22 1998
From: p.dalgaard@biostat.ku.dk (Peter Dalgaard BSA)
Date: 21 Mar 1998 10:00:22 +0100
Subject: Apropos names.
In-Reply-To: Ross Ihaka's message of Sat, 21 Mar 1998 13:20:08 +1200 (NZST)
References: <199803210120.NAA26311@stat1.stat.auckland.ac.nz>
Message-ID: <x2yay47715.fsf@blueberry.kubism.ku.dk>

Ross Ihaka <ihaka@stat.auckland.ac.nz> writes:


> 
> > Speaking of names. I've been thinking whether it would not at some
> > point be wise to introduce namespaces into R. This would pretty
> > obviously break a lot of S code, but it would also make it possible to
> > avoid a lot of silly problems such as naming one's variables c, t, pt,
> > df, rm, ... 
> >
> > A plan that might work relatively smoothly could involve:
> >
> > - Separate functions from variables. We already do that to some extent
> >   ("looking for object of mode function...") [At the same time, one
> >   design, functions are just objects, etc., but really: Wouldn't it be
> >   nicer to type view(ls) the few times you actually wanted to see its
> >   contents?]
> 
> This has been done in common lisp and it's ugly.  Consider
> 
> 	apply(x, 1, mean)
> 
> How do we indicate that this is the function called mean rather
> than the non-function mean?  The single namespace makes it much
> easier to think about functions as data.

Ugh. You're right. An even clearer bit of ugliness is 

mean<-mean(x) # you'll be surprised at how many people will do that!
as.list(mean) # which one??

Hmm. Plan B:

class(c)<-"system"
class(ls)<-"system"
...

print.system<-function(...)warning(-something-)

"<-.system"<- function(...)error(-something-)

if you catch my drift?


-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)             FAX: (+45) 35327907

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


Apropos names.
Peter Dalgaard BSA