MathGroup Archive 2008

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

Search the Archive

Evaluate part of rhs of RuleDelayed

  • To: mathgroup at
  • Subject: [mg91081] Evaluate part of rhs of RuleDelayed
  • From: "Eugene Kirpichov" <ekirpichov at>
  • Date: Tue, 5 Aug 2008 06:28:03 -0400 (EDT)

I am writing a lazy recursive function (actually, a tree of UI widgets
that is too large to be constructed at once).
Consider, for example, the following code:

SomeComplexFunction[a_] := Module[{x},
  x = a*a;
  {value :> SomeComplexFunction[x + a]}]

The value of SomeComplexFunction[5] is {value :>
SomeComplexFunction[x$7418 + 5]} and seemingly can'd be used for
anything useful.

How should I fix the code of SomeComplexFunction so that the value of
SomeComplexFunction[5] be {value :> SomeComplexFunction[30]} ?

Unfortunately, this one

SomeComplexFunction[a_] := Module[{x},
  x = a*a;
  {value :> SomeComplexFunction[Evaluate[x + a]]}]

yields {value :> SomeComplexFunction[Evaluate[x$7421 + 5]]}

Eugene Kirpichov
Web IR developer, Yandex

  • Prev by Date: RE: Denoting a Cartesian Product
  • Next by Date: Re: Can not run Mathematica 6.0.3 on Fedora 9
  • Previous by thread: Re: Please help me.....
  • Next by thread: Re: Evaluate part of rhs of RuleDelayed