Re: usage messages in packages
- To: mathgroup at smc.vnet.net
- Subject: [mg58066] Re: usage messages in packages
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Fri, 17 Jun 2005 05:19:56 -0400 (EDT)
- References: <5D6FD070-7564-48DC-8311-25DC0738EFA4@akikoz.net>
- Sender: owner-wri-mathgroup at wolfram.com
There are a couple of remarks I would like to add to this posting. First, I think it ought to be possible to modify the usage message mechanism so that usage messages about functions that are being overloaded would be appended to the existing ones rather than override them. Secondly: I am wondering whether the ability to read in packages with both <<DiscreteMath`Combinatorica` and <<discretemath`combinatorica` is operating system dependent, i.e. whether both of the above work on OS's that distinguish between lower and upper case names of files and directories. I think that means all flavours of unix except Mac OS X (?) Can someone check this? Andrzej Kozlowski On 17 Jun 2005, at 08:04, Andrzej Kozlowski wrote: > 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/ > > >