From shotwelm at musc.edu  Thu Aug 19 23:29:44 2010
From: shotwelm at musc.edu (Matt Shotwell)
Date: Thu, 19 Aug 2010 17:29:44 -0400
Subject: [Rd] Does anyone use Sweave (RweaveLatex) option "expand=FALSE"?
In-Reply-To: <4C6D9D26.9060505@gmail.com>
References: <4C6D80E3.2090806@gmail.com> <4C6D9431.4020104@units.it>
	<4C6D9634.4030003@gmail.com>  <4C6D9D26.9060505@gmail.com>
Message-ID: <1282253385.1554.5.camel@matt-laptop>

On Thu, 2010-08-19 at 17:07 -0400, Kevin Coombes wrote:
> I use it, frequently. The idea for it goes back to some of Knuth's 
> original literate programming ideas for developing weave and tangle when 
> he was writing TeX (the program).  I want to be able to document the 
> pieces of some complex algorithm without having to see all of the gory 
> details.  For instance, I have code that looks like the following.  
> (Note that this is typed on the fly rather than copied from actual 
> source, so there may be typos.)
> 
> <<mainloop,keep.source=TRUE,expand=FALSE>>=
> for (i in 1:nSamples) {
> <<getInfoAboutThisSample>>
>  for (j in 1:nChromosomes) {
> <<getChromosomeDataForCurrentSample>>
> <<normalizeChromosomeData>>
> <<findSegments>>
> <<computeSignificance>>
> <<writeResults>>
>  }
> }
> @
> 
> Each of the <<chunks>> is itself a fairly long piece of code defined and 
> documented somewhere else.  (Some of them may themselves be written in 
> the same form to reduce the final size of a chunk to something a human 
> has a chance of understanding. That's the difference between weave and 
> tangle in the original implementation.)   By blocking expansion, I can 
> focus on the main steps without having them lost in pages and pages of code.
> 

Couldn't you achieve the same amount of abstraction using function
calls, rather than embedded code chunks? The reader can then see real
code, rather than non-code, or meta-code, or whatever. Alternatively,
represent the code chunks as R expressions, then evaluate the
expressions at the appropriate points.

-Matt

> So I vote strongly for retaining "expand=FALSE".
> 
> Best,
>     Kevin
> 
> Duncan Murdoch wrote:
> > On 19/08/2010 4:29 PM, Claudia Beleites wrote:
> >> I never used it.
> >>
> >> I got curious, though. What would be a situation that benefits of 
> >> this option?
> >>   
> >
> > When I put it in, I thought it would be for people who were writing 
> > about Sweave.
> >
> > Duncan Murdoch
> >
> >> Maybe a use case could be found by "brute force" (grep all .Rnw files 
> >> on CRAN for the option?
> >>
> >> Claudia
> >>
> >>
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Matthew S. Shotwell
Graduate Student 
Division of Biostatistics and Epidemiology
Medical University of South Carolina



[Rd] Does anyone use Sweave (RweaveLatex) option "expand=FALSE"?
Matt Shotwell