MathGroup Archive 2002

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

Search the Archive

Re: Holding Arguments in a Second Argument List

I can't see a way to do what you want in the first part of your message 
(assign attributes for sub-arguments) but as for the second one way that 
will work is:

foo[mathgroup_] :=
         Do[If[Not[mathgroup === great], Return[$Failed]],{1}]




Andrzej Kozlowski
Toyama International University

On Wednesday, January 9, 2002, at 05:17  PM, David Park wrote:

> Dear MathGroup,
> I have a series of procedures which manipulate a matrix. I like to 
> define
> them in this fashion.
> function[args___][matrix_] := ... because then I can write lines like
> matrix // function[args...] etc.
> But I have to define the function so that matrix is held, and I don't 
> want
> to write Unevaluated with every use. But Attributes = {HoldFirst} only
> applies to the first argument list. Is there a direct way to define the
> attributes of a second argument list?
> In any case, I write the routines this way.
> function[args___]:=
> 	Function[matrix,
> 		Module[{}, code],
> 		{HoldFirst}]
> and that works. The code usually changes the matrix and I display it
> separately. But sometimes the operation will fail and then I would like
> function[args...][matrix]
> to return $Failed. But I am unable to do that. The best I seem to be 
> able to
> do is return Return[$Failed].
> Here is a sample routine which just tries to return $Failed.
> foo[mathgroup_] :=
>   Function[mat,
>     Module[{},
>         If[Not[mathgroup === great], Return[$Failed]]],
>     {HoldFirst}]
> foo[x][mat]
> Return[$Failed]
> Can anyone tell me how to get rid of the Return wrapper?
> Thanks
> David Park
> djmp at

  • Prev by Date: Re: TeXForm and negative exponents
  • Next by Date: Re: Holding Arguments in a Second Argument List
  • Previous by thread: Re: Holding Arguments in a Second Argument List
  • Next by thread: Re: Holding Arguments in a Second Argument List