Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2002
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2002

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

Search the Archive

Re: Postponing loading of Package

  • To: mathgroup at smc.vnet.net
  • Subject: [mg36673] Re: Postponing loading of Package
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Wed, 18 Sep 2002 02:10:10 -0400 (EDT)
  • Organization: Universitaet Leipzig
  • References: <alubet$no8$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

BeginPackage[ "OtherPackage`" ]
BigVariable::usage="example"
Begin["`Private`"]
BigVariable=Table[x y,{x,1000},{y,1000}]
End[ ]
EndPackage[ ]
Print["Loading ..."];


and

BeginPackage[ "ThisPackage`" ]

function::usage="example"

Begin["`Private`"]

function[x_]:=Module[{y},
                y=If[x>1000,
                  Needs["OtherPackage`"];
                  OtherPackage`BigVariable[[x]],
                  x] 
               ]

End[ ]
EndPackage[ ]


should do that.

Regards
  Jens

ng wrote:
> 
> I wrote a package (call it "ThisPackage`") that uses
> DeclarePackage["OtherPackage`", {"BigVariable"} ]. The idea was to prevent
> the loading of a large file in routine cases. However, when ThisPackage`
> defines its functions, inside the Private` area, it includes a conditional
> call to BigVariable. It turns out that OtherPackage is loaded when that
> function is defined. I was wondering if there is a way to avoid this.
> Roughly speaking, here is the setting:
> 
> BeginPackage[ "OtherPackage`" ]
> BigVariable::usage="example
> Begin[Private`]
> BigVariable=Table[x y,{x,1000},{y,1000}]
> End[ ]
> EndPackage[ ]
> 
> BeginPackage[ "ThisPackage`" ]
> function::usage="example
> Begin[Private`]
> function[x_]:=Module[{y},
> y=If[x>1000,BigVariable[[x]],x] ]
> End[ ]
> EndPackage[ ]
> 
> I don't want OtherPakage to be loaded unless function[x] is called with
> x>1000 but it loads when function is defined. Any ideas?
> 
> Thanks!
> 
> Nicholas


  • Prev by Date: RE: problems with the definition of a function
  • Next by Date: Re: Postponing loading of Package
  • Previous by thread: Re: Postponing loading of Package
  • Next by thread: Re: Postponing loading of Package