Confused about contexts ...

*To*: mathgroup at christensen.cybernetics.net*Subject*: [mg523] Confused about contexts ...*From*: Paul E Howland <PEHOWLAND at taz.dra.hmg.gb>*Date*: Wed, 8 Mar 1995 15:40:34 +0200 (IST)

Dear Mathgroup, I think I'm getting my contexts in a muddle. Can you help me with the following please? Consider the following simple package: BeginPackage["Example`"] test::usage = "Test function" Begin["`Private`"] test[a_] := Module[{}, z=Sin[x];Function[x,z]] End[] EndPackage[] I'm trying to code a function "test" that returns a function as its argument. Thus, _what_I'd_like_to_happen_ is this: In[1] := <<Package.m In[2] := f = test[a] Out[2] := Function[x,Sin[x]] In[3] := f[theta] Out[3] := Sin[theta] However, what actually happens is this: In[1] := <<Package.m In[2] := f = test[a] Out[2] := Function[Example`Private`x, Example`Private`z] In[3] := f[theta] Out[3] := Sin[Example`Private`x] Of course, in reality my function is much more complicated than Sin[x], and has to be calculated by the function "test". "test" takes in data (represented by the variable "a" in the example above) in order to try to calculate this function. What am I doing wrong? Many thanks, Paul E Howland Long Range Ground Radar Systems Section tel. +44 (0)1684 895767 CSS2 Division, Room BY209 fax. +44 (0)1684 896315 Defence Research Agency email: PEHOWLAND at DRA.HMG.GB Malvern, Worcs, WR14 3PS, UK. -----------------------------------------------------------------------------