Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2002
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2002

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

Search the Archive

Re: Holding Arguments in a Second Argument List

  • To: mathgroup at smc.vnet.net
  • Subject: [mg32257] Re: Holding Arguments in a Second Argument List
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Wed, 9 Jan 2002 23:37:11 -0500 (EST)
  • Organization: Universitaet Leipzig
  • References: <a1gv0f$n6c$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,


for what  do you need Module[{},__] ?

and

foo[mathgroup_] := 
  Function[mat, If[Not[mathgroup === great], $Failed], {HoldFirst}]

has no Return[] wrapper.

Regards
  Jens

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 earthlink.net
> http://home.earthlink.net/~djmp/


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