MathGroup Archive 2000

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

Search the Archive

controlling evaluation


In[1]:=
func[x_][_] := x

In[2]:=
func[0][Print["bad"]]

"bad"

Out[2]=
0

Is there any way to modify the definition of func such that the Print
statement doesn't evaluate?  Setting the Attributes of func only changes
how x is handled.

For those who may care, I'm playing with combinators.  I want to be able
to use the Y combinator for recursion, but this won't work unless I can
eventually get it on the unchosen side of a branch statement (via the
combinators K[I] or K).  If at all possible, I would like to avoid
wrapping all my combinators with some HoldAll-attributed head.

Nathan Linger


  • Prev by Date: Re: ExponentFunction
  • Next by Date: Re: Wrong plot size
  • Previous by thread: Re: final timestep using StoppingTest
  • Next by thread: Commuting Matrices