MathGroup Archive 2007

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

Search the Archive

Best practice for Mathematica package development

What are the best standards and practices to follow when developing
serious Mathematica packages that are intended for many people to use?
Is there a handy guide, and/or template .m files, that can be used by
prospective package developers?

In the past I have made packages by allowing Mathematica to
automatically generate .m files from a notebook containing the
relevant definitions in initialization cells. With the advent of
Workbench, I assume this is no longer the best method.

I am interested in best practices related to managing options,
contexts, warnings and errors, interfaces in general, etc. Is there a
list of standards adhered to when WRI designs packages?

Of course I can often see how others have designed packages by reading
the .m files in their packages. Are all well-known packages as well-
designed as each another? Can anyone recommend a particular package as
a good example of how to write packages well?

  • Prev by Date: Re: unevaluated expression
  • Next by Date: Hold and Simplify
  • Previous by thread: Re: 2D pattern matching
  • Next by thread: Re: Best practice for Mathematica package development