From murdoch at stats.uwo.ca  Thu Oct 29 15:46:27 2009
From: murdoch at stats.uwo.ca (Duncan Murdoch)
Date: Thu, 29 Oct 2009 10:46:27 -0400
Subject: [Rd] Help with lang4
In-Reply-To: <fc212e850910290738y1a6b901dk611f49b47e0893fa@mail.gmail.com>
References: <fc212e850910290700u4cb2be67n53d7efbfa787e7b6@mail.gmail.com>	<4AE9A328.5050305@userprimary.net>
	<fc212e850910290738y1a6b901dk611f49b47e0893fa@mail.gmail.com>
Message-ID: <4AE9AAC3.7060101@stats.uwo.ca>

On 29/10/2009 10:38 AM, Abhijit Bera wrote:
> Can't find the source to Rf_lang* series of functions. :|

They're in src/include/Rinlinedfuns.h.

Duncan Murdoch

> 
> But I'm thinking it should be like this correct me if I'm wrong:
> 
> PROTECT(e=lang4(install("myfunction"),arg1,arg2,arg3);
> PROTECT(SETCAR(CDR(e),portConstraints));
> PROTECT(portVal=R_tryEval(e,R_GlobalEnv, NULL));
> 
> Regards
> Abhijit Bera
> 
> 
> On Thu, Oct 29, 2009 at 7:14 PM, Seth Falcon <seth at userprimary.net> wrote:
> 
>> On 10/29/09 7:00 AM, Abhijit Bera wrote:
>>
>>> Hi
>>>
>>> I seem to have run into a situation where I have more than 3 arguments to
>>> pass to a function from C.
>>>
>>> the following functions help me build an expression for evaluation:
>>>
>>> lang
>>> lang2
>>> lang3
>>> lang4
>>>
>>> What should one do if there are more arguments than lang4 can handle?
>>>
>> If you take a look at the source code for those functions, something may
>> suggest itself.  R function calls at the C level are composed like in lisp:
>> a pair-list starting with the function cons'ed with the args.
>>
>> + seth
>>
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] Help with lang4
Duncan Murdoch