Mercurial > repos > tabletprog
diff runtime/progfoot.inc @ 45:2a9c6eed0c70
Move closure/lambda object def into compiler rather than runtime code. Add while:do method to lambda
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 13 Jul 2012 00:23:38 -0700 |
parents | 9dd370530f69 |
children | 7b454d100dc8 |
line wrap: on
line diff
--- a/runtime/progfoot.inc Thu Jul 12 22:49:08 2012 -0700 +++ b/runtime/progfoot.inc Fri Jul 13 00:23:38 2012 -0700 @@ -18,6 +18,16 @@ return &(arr->header); } +object * make_lambda(void * env, closure_func func) +{ + lambda * ret = malloc(sizeof(lambda)); + ret->header.meta = &lambda_meta; + ret->header.parent = NULL; + ret->env = env; + ret->func = func; + return (object *) ret; +} + int main(int argc, char ** argv) { object * ret = mcall(METHOD_ID_MAIN, 1, mainModule());