Bill Allombert on Mon, 14 Oct 2013 17:05:52 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Branch bill-mt for parallel pari updated |
On Sun, Oct 13, 2013 at 02:28:25PM +0200, Bill Allombert wrote: > Dear PARI developers, > > An new declaration is available: > inline(var) > This declares that var should be inlined in each functions, with the value > of var at the time the function is created. > This allows to create functions that are not stored in global variables, > which is necessar for parallel code. I want to clarify that I see inline() as a work-around for a syntactic limitation in the GP language. The recommended syntax for declaring functions in PARI/GP has been for some time: fun(arg1,arg2)= { BODY } However this syntax is not nestable, since {} is not nestable. A way to write nestable function is (fun(arg1,arg2)= BODY) or for local functions: my(fun(arg1,arg2)= BODY); and this requires everything to be put in a single {} block: { my(helper(arg1,arg2)= BODY); (fun1(arg1,arg2)= BODY1); (fun2(arg1,arg2)= BODY2) } which is neither usual nor attractive, but which remove the need for inline entirely. So maybe we should come with an improved syntax for defining functions. Cheers, Bill.