usage messages in packages
- To: mathgroup at smc.vnet.net
- Subject: [mg58064] usage messages in packages
- From: Andrzej Kozlowski <andrzej at akikoz.net>
- Date: Fri, 17 Jun 2005 05:19:44 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
One aspect of Mathematica packages that seems to me to be poorly designed is the way package usage messages can cover up a built in usage messages without any warning. A particularly irritating instance of this is when a package overloads the definition of a built in functions so that user receives no information at all about what happened. As an example compare: ?Normal Normal[expr] converts expr to a normal expression, from a variety of special forms. load the Combinatorica package: <<discretemath`combinatorica` ?Normal Normal is a value that options VertexStyle, EdgeStyle, and \ PlotRange can take on in ShowGraph. Another curious thing. Quit the Kernel and now try again loading the Combinatorica package in a different way In[1]:= <<discretemath` This time the usage message was not covered up: In[2]:= ?Normal Normal[expr] converts expr to a normal expression, from a \ variety of special forms. I had never realised that one could load directories of packages by using only small letters as in the above example until I saw Maxim doing it. This also works: << discretemath`combinatorica` Actually, this is consistent with the documentation which says: <<dir` , initialize all packages from directory dir, <<dir`package` , read in a package from the named directory but I had always assumed that "dir" and "package" actually meant "Dir" and "Package". Andrzej Kozlowski Chiba, Japan http://www.akikoz.net/andrzej/index.html http://www.mimuw.edu.pl/~akoz/