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());