From h.wickham at gmail.com  Wed Oct  3 16:47:12 2012
From: h.wickham at gmail.com (Hadley Wickham)
Date: Wed, 3 Oct 2012 09:47:12 -0500
Subject: [Rd] Creating functions programmatically
In-Reply-To: <506C4B1F.3070403@gmail.com>
References: <CABdHhvH9Q3L16aCQPg=Tn5N+GqJTDW2vhf3=y6_DYcUOXwYvmQ@mail.gmail.com>
	<506C4B1F.3070403@gmail.com>
Message-ID: <CABdHhvGhFHTVUvCY_n9_VaxyEZ8+P7rZjZMh9wqQQZyDmQZSAA@mail.gmail.com>

> There is:  it is `function`.  The parser converts your function definitions
> into a call to it.  (It has 3 arguments: the formals, the body, and the
> srcref.  The environment is added when it is evaluated.)
>
> So your make_function below is pretty similar (but because `function` is
> primitive, some of the evaluation rules might be different).

Hmm, I thought I had it working, but now I can't figure out the
arguments to `function`:

> `function`(NULL,NULL)
function ()
NULL

> `function`(alist(a = 1), NULL)
Error: invalid formal argument list for "function"

I'm obviously missing something dumb.

Thanks!

Hadley

-- 
RStudio / Rice University
http://had.co.nz/



[Rd] Creating functions programmatically
Hadley Wickham