From therneau at mayo.edu  Fri Dec 12 00:04:54 2008
From: therneau at mayo.edu (Terry Therneau)
Date: Thu, 11 Dec 2008 17:04:54 -0600 (CST)
Subject: [Rd] package development
Message-ID: <200812112304.mBBN4stJ008607@rocky.mayo.edu>

  I'm making the move of the survival package from my own environment to,
and have stumbled into a vacuum.   The R Extensions manual has really nice
instructions about how to lay out the directories, order the files, and
run tests for DISTRIBUTION of a product, but I can't find anything on how
to set up a reasonable DEVELOPMENT environment.
   In my local world, I had the .c and .s files in a common directory, with
a Makefile that I had created, and the test suite in a subdirectory.  Debugging
and development was quite nice.
	make
	cd test
	R
	attach("..")
		try something and perhaps it fails
	q()
	cd ..
Fix and repeat. The Makefile took some time to create, but paid for itself a
hundred times over. 

  So, I've now rearranged everything into standard R order.  Then I did the
only thing I could find
	R CMD INSTALL ~/myRlib  survival  
where "survival" is said directory.   This turns out to be not useful at all.
The survival package is large, and I rather suspected that I would goof 
something up, and I did, resulting in the following message

	Error in parse(n = -1, file = file) : unexpected end of input at
        14450: }
        14451: 

It is not exactly obvious which of the 132 files in my R/ directory is the 
culprit here.

   In general:
1. The library is large, and recompiling/reparsing everything is very far from
instantaneous.  It is not the edit/load cycle I desire.

2. I take testing seriously: the test suite takes on the order of 15 minutes to
run on a fast machine.  I most certainly don't want to run it in the mid cycle.

   Someone must have tackled this.  I'm hoping that there is some documentation
that I have managed to overlook which discussess a good setup for this middle
ground between concieving of a library and packaging it for delivery; the
"build, test, make sure it acually works" part of development.

	Terry Therneau



[Rd] package development
Terry Therneau