Re: Evaluate part of rhs of RuleDelayed

• To: mathgroup at smc.vnet.net
• Subject: [mg91113] Re: Evaluate part of rhs of RuleDelayed
• From: Roland Franzius <roland.franzius at uos.de>
• Date: Wed, 6 Aug 2008 05:07:39 -0400 (EDT)
• References: <g79a05\$dnl\$1@smc.vnet.net>

```Eugene Kirpichov schrieb:
> 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.
>
> Question:
> 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]]}
>

Try function head Replace-ment after expression construction and evaluation

SomeComplexFunction[a_] :=
Module[{x},
x = a*a;
{(RuleDelayed @@ {value, scf[x + a]}) /. {scf ->
SomeComplexFunction}}]

SomeComplexFunction[30]

{value :> SomeComplexFunction[930]}

--

Roland Franzius

```

• Prev by Date: Re: RadioButton Question
• Next by Date: Re: Recognize vector expression
• Previous by thread: Re: Evaluate part of rhs of RuleDelayed
• Next by thread: Re: Evaluate part of rhs of RuleDelayed