From murdoch.duncan at gmail.com  Mon Aug 30 17:43:31 2010
From: murdoch.duncan at gmail.com (Duncan Murdoch)
Date: Mon, 30 Aug 2010 11:43:31 -0400
Subject: [Rd] Does anyone use Sweave (RweaveLatex) option "expand=FALSE"?
In-Reply-To: <4C6DA142.3090306@gmail.com>
References: <4C6D80E3.2090806@gmail.com> <4C6D9431.4020104@units.it>
	<4C6D9634.4030003@gmail.com> <4C6D9D26.9060505@gmail.com>
	<4C6DA142.3090306@gmail.com>
Message-ID: <4C7BD1A3.6040305@gmail.com>

On 19/08/2010 5:25 PM, Duncan Murdoch wrote:
> On 19/08/2010 5:07 PM, 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.)
>
> Okay, thanks.  I'll keep it in.  So now I have a question:  suppose
> you have an error (syntax error at this point, maybe some other kinds of 
> error in the future) in the <<getInfoAboutThisSample>> chunk, but that 
> chunk wasn't eval'd, mainloop was eval'd.  So the error is going to be 
> reported as occurring in chunk mainloop, but with a line number from 
> somewhere else in the file.  Is that a problem?
>   

I was out of town for a week, but I'm back now, and have just committed 
these changes.  Hopefully the reports of syntax errors will be a little 
more helpful now.  I don't think I'll have time to make the reports of 
execution time errors better before the 2.12.0 release.

Duncan Murdoch

> Duncan Murdoch
>
>
> > 
> > <<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.
> > 
> > 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
>
>



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