MathGroup Archive 2013

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

Search the Archive

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
>>
>>
>>
>




  • Prev by Date: Re: Russian Peasant Multiplication / was question on
  • Next by Date: Re: where can I find CartesianMap code
  • Previous by thread: Re: Rather simple function returns curious result.
  • Next by thread: Re: Rather simple function returns curious result. Explanation requested.