2 Object user${{name}}$implementation(EnvironmentPool* environmentPool, Environment* environment, size_t argc, Stack* parentStack, jmp_buf parentJump)
4 environment = Environment_construct(environmentPool, environment);
7 Stack* stack = &stackMemory;
8 Stack_initialize(stack);
13 fprintf(stderr, "\tin {{name}}\n");
15 while(Stack_any(stack))
17 Object item = Stack_pop(stack);
18 Object_deinitialize(&item);
20 Environment_setLive(environment, false);
22 longjmp(parentJump, 1);
25 Object result = builtin$nil;
27 {% for argument_name in argument_name_list|reverse %}
28 Environment_set(environment, "{{ argument_name }}", Stack_pop(parentStack));
31 {% for statement in statement_list %}
35 // TODO Set the environment back to the parent environment
36 Environment_setLive(environment, false);