From luke-tierney at uiowa.edu  Wed Feb 16 17:11:00 2011
From: luke-tierney at uiowa.edu (luke-tierney at uiowa.edu)
Date: Wed, 16 Feb 2011 10:11:00 -0600
Subject: [Rd] Request: Suggestions for "good teaching" packages,
 esp. with C code
In-Reply-To: <4D5BC592.6020900@gmail.com>
References: <AANLkTikODppzk5=x7=TzVepH+aHuvaZUErf_0xQZ5ioX@mail.gmail.com>
	<4D5AF4A8.50001@auckland.ac.nz>
	<4D5BC398.3050209@mx.uni-saarland.de> <4D5BC592.6020900@gmail.com>
Message-ID: <alpine.LFD.2.00.1102161007180.13402@itasca.stat.uiowa.edu>

If you evaluate return(x) in an evironment env then then that will
execute a return from the function call associated with env or signal
an error if there is none.  That is the way return() is intended to
work.

Best,

luke

On Wed, 16 Feb 2011, Duncan Murdoch wrote:

> On 11-02-16 7:31 AM, Martin Becker wrote:
>> On 15.02.2011 22:48, David Scott wrote:
>>> On 16/02/2011 7:04 a.m., Paul Johnson wrote:
>>>> ...
>>>> 
>>>> 4. We don't want gratuitous use of "return" at the end of functions.
>>>> Why do people still do that?
>>> 
>>> Well I for one (and Jeff as well it seems) think it is good
>>> programming practice. It makes explicit what is being returned
>>> eliminating the possibility of mistakes and provides clarity for
>>> anyone reading the code.
>>> 
>>> David Scott
>>> 
>>> 
>> 
>> AFAIR (but I am not sure, maybe some expert can comment on this), there
>> is a difference between using return and not using return when R code is
>> called from C-code via eval(). If my memory is correct, a return()
>> statement (in the R code) would abort the C function (which is trying to
>> evaluate the R code, e.g., the body of a function) as well, which is
>> probably not intended. So, the use of return() in R code may be quite
>> disadvantageous in certain situations.
>
> As far as I know there is no such effect.  I suspect what you saw just 
> triggered a bug in the C code that had stayed hidden before.
>
> Duncan Murdoch
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Luke Tierney
Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa                  Phone:             319-335-3386
Department of Statistics and        Fax:               319-335-3017
    Actuarial Science
241 Schaeffer Hall                  email:      luke at stat.uiowa.edu
Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu



[Rd] Request: Suggestions for "good teaching" packages, esp. with C code
luke-tierney at uiowa.edu