Re: Rather simple function returns curious result.
- To: mathgroup at smc.vnet.net
 - Subject: [mg131409] Re: Rather simple function returns curious result.
 - From: James Stein <mathgroup at stein.org>
 - Date: Wed, 3 Jul 2013 05:02:46 -0400 (EDT)
 - Delivered-to: l-mathgroup@mail-archive0.wolfram.com
 - Delivered-to: l-mathgroup@wolfram.com
 - Delivered-to: mathgroup-outx@smc.vnet.net
 - Delivered-to: mathgroup-newsendx@smc.vnet.net
 - References: <20130702044842.DB5BC6A5F@smc.vnet.net> <51D26ADF.5080802@tue.nl>
 
Dear Fred,
Thanks to you, and any others who respond.
Another case of proof-reader's blindness
when proof-reader and author are the same person.
I had indeed meant to write ___List, not List___,
and knowing what I meant, could not see what I wrote.
Chagrined, James
On Mon, Jul 1, 2013 at 10:53 PM, Fred Simons <f.h.simons at tue.nl> wrote:
> Hi James,
>
> The problem is in List___.  In this way, you use the Mathematica name List
> as a dummy name for passing the arguments into the function body. If you
> use the correct syntax ___List (any number of arguments, all with head
> List), the problem is over.
>
> Regards,
>
> Fred Simons
> Eindhoven University of Technology
>
> Op 2-7-2013 6:48, James Stein schreef:
>
>  For reasons that escape me, the simple function below fails to return
>> an empty List when n==2; Is this a bug? If not, what is the
>> explanation? If the return value for n==2 is changed to an integer or
>> a string, the function behaves as expected.(Of course, this bizarre
>> function is the result of simplifying a more reasonable one.)
>>
>> Clear[ f ];
>> f [run : { List___ } ] := Module [ { n },
>>     n = run // Length;
>>     If [ n != 2, Return [ n ] ];
>>     Module [ { } ,
>>      { } (* Return Empty List if n==2 *)
>>      ]
>>     ] ;
>> f [ { } ]
>> f [ { { } } ]
>> f [ { { }, { } } ]
>> f [ { { }, { }, { } } ]
>> f [ { { }, { }, { }, { } } ]
>>
>> When I run the above, I get these four outputs:
>> 0
>> 1
>> Sequence[{}, {}][]
>> 3
>> 4
>>
>>
>>
>
- References:
- Rather simple function returns curious result. Explanation requested.
- From: James Stein <mathgroup@stein.org>
 
 
 - Rather simple function returns curious result. Explanation requested.