MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Wolfram Workbench and package development

  • To: mathgroup at
  • Subject: [mg68413] Wolfram Workbench and package development
  • From: "John Jowett" <John.Jowett at>
  • Date: Fri, 4 Aug 2006 03:59:27 -0400 (EDT)
  • Organization: CERN - European Laboratory for Particle Physics
  • Sender: owner-wri-mathgroup at

I've installed and taken a look at Wolfram Workbench (WW).  Before deciding 
to adopt it for my work,  I'd like to raise a few questions concerning how 
one might use it for package development.   It would be interesting to hear 
other people's thoughts.

1. WW is clearly an alternative to the traditional workflow for package 
development in a notebook (which I learned from Roman Maeders' book 
"Programming in Mathematica"). In that scheme, package functions are created 
in initialisation cells and the notebook can hold documentation, examples 
and so on.  I've been doing this for years but somehow never got round to 
the next step which is to write additional documentation notebooks for 
integration in the Help Browser.   Presumably this can be done in WW, 
perhaps more efficiently.   It may seem fairly obvious but it would be 
useful if someone would spell out an authoritative recipe for doing so (and 
ideally put it into the help for WW).   Which files should you finally 
"export" from the project and give to people to install in their 
$(User)BaseDirectory Applications folder?

2. Is the above still the right way to put together and provide Help Browser 
documentation for application packages, even for future versions of 
Mathematica ?

3. What about packages that import other packages, contexts and 
sub-contexts, etc.?

4. When I try to use the Mathematica Import Wizard to bring existing 
notebook-generated packages into WW, I tend to end up with a lot of 
non-InputForm syntax ("\[Rule], "\!\(", "\<","\[InvisibleSpace]" etc.).   It 
would be nice to automatically fix/delete these (although perhaps it should 
be the Front End's job).

5. Is it a good or a bad idea to break a single large package over several 
.m files in WW?  If good, is it just a mattering of putting Get[...] 
commands between the BeginPackage and EndPackage ?

6. In debugging or improving a function from an existing, loaded package, I 
often find myself working on a slightly-renamed version that has been copied 
to the Global context (this avoids repeatedly re-launching the kernel, 
particularly when it takes some time to get to the point where the new 
version of the function can be tested).  This method is a little messy, 
especially when it uses private functions.   How would I do this in WW ?

John Jowett

  • Prev by Date: Re: Precision of arguments to FunctionInterpolation
  • Next by Date: Re: Pattern match question
  • Previous by thread: RE: Re: Re: Change CellTags with FrontEnd
  • Next by thread: Re: Wolfram Workbench and package development