Re: Whitespace weirdness.
- To: mathgroup at smc.vnet.net
- Subject: [mg74363] Re: Whitespace weirdness.
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Mon, 19 Mar 2007 21:49:18 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <etlcva$o16$1@smc.vnet.net>
wooks wrote:
> Clear[Eternity,x];
> Eternity[x_]:=Eternity[x];
Totally buggy function definition for his definition leads to infinite
recursion.
> Clear[EmptyQ];
> EmptyQ[{}] := True;
> EmptyQ[x_List] := False;
> EmptyQ[x_] := Print["Argument to EmptyQ must be a list."];
>
> Clear[length,list,f,g]
> Function[f,
> Function[list,If[EmptyQ[list],0,
> 1+f[Rest[list]]]]]
>
> [Function[g,
>
> Function[list,If[EmptyQ[list], 0,
> 1 +
> g[Rest[list]]]]][Eternity]]
>
> Clear[length,list,f,g]
> Function[f,
> Function[list,If[EmptyQ[list],0,
> 1+f[Rest[list]]]]]
> [Function[g,Function[list,If[EmptyQ[list], 0,
==^
Funny extra open square bracket.
1 +
> g[Rest[list]]]]][Eternity]]
=================^=^^^^^^^^
Missing open square bracket.
The symbol Eternity is not defined. Maybe you wanted Eternity[x]?
> Here are 2 versions of the same anonymous function. The only
> difference between them is that in the second version Function[g....
> starts on a new line.
No. See my comments above.
> One of them works.
No. As written above, none of them work, and none of them can work.
> The other generates a syntax error.
You should post the code and some tests with their exact results and
associated error/warning messages directly copied (preferably in
InputForm) from a fresh Mathematica session. For instance,
In[1]:=
Clear[Eternity, x];
Eternity[x_] := Eternity[x];
In[3]:=
Eternity["Bonjour"]
From In[3]:=
$IterationLimit::"itlim" : "Iteration limit of (4096) exceeded. More...
Out[3]=
Hold[Eternity[Bonjour]]
Regards,
Jean-Marc