MathGroup Archive 2010

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

Search the Archive

overloading a function name in a package? How to query all names?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg110789] overloading a function name in a package? How to query all names?
  • From: "Nasser M. Abbasi" <nma at 12000.org>
  • Date: Tue, 6 Jul 2010 05:03:27 -0400 (EDT)
  • Reply-to: nma at 12000.org

Hello;

I have package where I overloaded the same function name, defined to 
accept different arguments. as follows:

-------------------
BeginPackage["foo`"]

boo1::usage="call me as follows: boo1[a,b]"
boo1::usage="call me as follows: boo1[a]"

Begin["`Private`"]

boo1[a_,b_]:=Module[{},Print["in v1 of boo1"]];

boo1[a_]:=Module[{},Print["in v2 of boo1"]];

End[]
EndPackage[]
--------------------------------

Now, I do

<<foo`

And I can call either of them OK

boo1[1,2]
boo1[1]


But when I do

Names["foo`*"]

It only shows name boo1 once. (I can understand this*)

And when I do

?foo`*

It only list boo1 once. It seems to show the ::usage of the last one. 
OK. I can understand this.

But, then, is there a way to show the user than I have more than one 
version of the same function name in the package? Without having to look 
into the package file?

I'd like to overload the function name, since I need to call it 
differently sometimes, and I do not want to make up new names of the 
same function, as in booV1[], booV2[], etc... since they all do the same 
logical action, but accept different arguments depending on the options 
needed, and so they all just have the same name, and the correct version 
will be called depending on the arguments used.

Overloading works OK when calling. I am just asking on how to show that 
I have more than one function of the same name in the package, so I know 
how to call each one.

I looked a the docs, but so far, did not see anything. will keep looking....

thanks
--Nasser



  • Prev by Date: Re: The side-effects of mixing TraditionalForm inside expressions.
  • Next by Date: Re: The side-effects of mixing TraditionalForm inside
  • Previous by thread: ParametricPlot3D problem
  • Next by thread: Re: overloading a function name in a package? How to query all names?