Z. Todd Taylor
1998-Jun-03 14:00 UTC
R-beta: Re: "as.numeric" `mode' and `cast' should be kept separate.
Bill Venables <wvenable at attunga.stats.adelaide.edu.au> wrote: [ snip ]> I don't say this will appeal to everyone straight away, but I > would even favour using a binary operator syntax for the > assignment function form of the above replacement function, for > example > > "%cast.as%" <- function(x, form) { > storage.mode(x) <- deparse(substitute(form)) > x > } > > Calls to .C would then take on such a striking form that it would > be immediately noticed if something had been missed: > > result <- .C("some_flashy_C_thing", > x = my.x %cast.as% double, > i = my.eye %cast.as% integer, > oops = forgot.this.one, > value = z %cast.as% single)$valueI really like that idea! But I have to nit-pick the suggested implementation. Instead of the deparse(substitute()) stuff, just take a simple character string. Else you can't do things like x %cast.as% storage.mode(y) --Todd -- Z. Todd Taylor Pacific Northwest National Laboratory Todd.Taylor at pnl.gov Why is the 'last time' previous to this time? -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help 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-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Bill Venables
1998-Jun-03 14:17 UTC
R-beta: Re: "as.numeric" `mode' and `cast' should be kept separate.
Z. Todd Taylor writes: > > I really like that idea! But I have to nit-pick the suggested > implementation. Instead of the deparse(substitute()) stuff, > just take a simple character string. Else you can't do things > like > > x %cast.as% storage.mode(y) OK, OK, I'll go with he flow. We'll use Peter's and Todd's form as the primary and if I want to have a lazy form, well, I know how to make it... :-) Sometimes you will need it, but remember this is for compiled code, the name of the entry point is in the overwhelming majority of cases going to be a character constant, and the storage mode is by that time is set in concrete, and one purpose I had in mind was easy checking that it was the right cast being done. Still, you guys win. I'm happy with the advance if we take it. (In fact I'm astounded. I expected much heavier opposition than this, I must say...) > --Todd > -- > Z. Todd Taylor > Pacific Northwest National Laboratory > Todd.Taylor at pnl.gov > Why is the 'last time' previous to this time? For the same reason that an `older woman' is never as old as an `old woman'. (or man). Bill. -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help 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-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._