MathGroup Archive 2007

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

Search the Archive

Best practice for Mathematica package development

  • To: mathgroup at
  • Subject: [mg77149] Best practice for Mathematica package development
  • From: Andrew Moylan <andrew.j.moylan at>
  • Date: Tue, 5 Jun 2007 06:29:05 -0400 (EDT)

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