Bill Allombert on Mon, 08 Feb 2016 20:31:12 +0100

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

 Re: addhelp

```On Mon, Feb 08, 2016 at 08:08:24PM +0100, Josef Eschgfaeller wrote:
> Bill Allombert wrote:
>
> > One dirty way to do it in GP is:
> > arity(f)=component(f,2)[1]
>
> Many thanks - it seems that one
> can obtain in this way also the
> implicit arity (see example):
>
>  If I understand well,
> component(f,2)[2] is always the
> value of the first argument, if this
> is optional.

No, only if the first argument is a small positive integer.

? f(x,a=-11)=x+a
%17 = (x,a=-11)->x+a
? component(f,2)[2]
%18 = 1

I would suggest something simpler:

f(v=0) =
{
if (v===0,return(3));
my ([x,y,z]=v); x+y+z
}

elaborate (f) = {my (n,e); n=f(); e=f([2,5,1]); n*e}

t=elaborate(f)
print(t) \\ 24

Cheers,
Bill.

```

• References:
• addhelp
• From: Josef Eschgfaeller <esg@unife.it>
• Re: addhelp
• From: Bill Allombert <Bill.Allombert@math.u-bordeaux.fr>
• Re: addhelp
• From: Josef Eschgfaeller <esg@unife.it>