Kind of a misnomer, you have to take the tail() of the stack yourself.
This function only returns the list from TOS.
return (u64)stack << 32 | expression;
}
-u64
-swaack(u32 stack, u32 expression)
+
+u32
+pop_list(u32 stack)
{
if (!stack) {
error = NOT_ENOUGH_VALUES_ON_STACK;
error = NOT_A_LIST;
return 0;
}
+ return list;
+}
+
+
+u64
+swaack(u32 stack, u32 expression)
+{
+ u32 list = pop_list(stack);
+ CHECK_ERROR
stack = cons(tail(stack), list);
CHECK_ERROR
return (u64)stack << 32 | expression;