Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: how call a function by same name in 2 different contexts?

  • To: mathgroup at
  • Subject: [mg56733] Re: [mg56715] how call a function by same name in 2 different contexts?
  • From: "Hermann Schmitt" <schmitther at>
  • Date: Thu, 5 May 2005 06:01:16 -0400 (EDT)
  • References: <>
  • Sender: owner-wri-mathgroup at

I think, I ave a solution for this problem.
Dokumentation, p. 5
Hermann Schmitt
----- Original Message -----
From: "steve" <nma124 at>
To: mathgroup at
Subject: [mg56733] [mg56715] how call a function by same name in 2 different contexts?

> There is a function called FourierTransform that is part of standard
> Mathematica.
> When I load the SignalProcessing package (a standalone Mathematica
> application), it also comes with its own version of FourierTransform
> function.
> The question is how can I, after loading the SignalProcessing package,
> specify explicitly which function I wish to call?
> I found that I could do the above as follows.
> To call the standard function type
>            System`FourierTransform[Sin[t],t,w]
> To call the function in SignalProcessing package, do
>       Needs["SignalProcessing`"]
>       SignalProcessing`Support`SigProc`FourierTransform[Sin[t],t,w]
> The problem with the above solution is that I had to know before
> hand inside which context the FourierTransform function lived in
> the SignalProcessing package, by typing the command
> Context[FourierTransform]
> SignalProcessing`Support`SigProc`
> Is there a better way to do this? Why can't I just say
> something like "Call the FourierTransform function which
> is part of the SignalProcessing package" without having
> to know the full contextPath?
> But the bigger problem is that after I loaded the SignalProcessing
> package, the Context[FourierTransform] does NOT list the
> System`FourierTransform any more, even though I call
> still access this context as follows
>            System`FourierTransform[Sin[t],t,w]
> It seems that loading the SignalProcessing package hides the
> context of the FourierTransform function in the System package
> as you can see:
>      Context["FourierTransform"]
>           System`
>      Needs["SignalProcessing`"]
>      Context["FourierTransform"]
>           SignalProcessing`Support`SigProc`
> I was expecting this output
>      Context["FourierTransform"]
>            SignalProcessing`Support`SigProc`
>            System`
> So that I can see where each function is and then call any one
> I want without ambiguity.
> Any idea how to handle all of this stuff? I do not think it is nice
> that one package hides away another function of the same name in
> different package. The whole idea of using packages is so that this
> sort of thing should not happen !
> Is there a way to unload a specific package after loading it without
> having to restart Mathematica to clean things out?
> Thank you for any insight into this issue
> nma124

  • Prev by Date: Re: letrec/named let
  • Next by Date: Re: letrec/named let
  • Previous by thread: how call a function by same name in 2 different contexts?
  • Next by thread: Re: how call a function by same name in 2 different contexts?