I already learned a little bit about FFL semicolons from my previous question. However, it is still not clear what order of evaluation or execution they enforce. So here is a more concrete example:
[ expr_a, expr_b ; expr_c, expr_d ; expr_e, expr_f ]
What should be the order of execution for the above code? In my head, it should be:
- evaluate a & b
- execute a, execute b
- evaluate c & d
- execute c, execute d
- evaluate e & f
- execute e, execute f
Now let's imagine that expr_b = add(test_list, ['b saw ' + str(test_list)])
and similar for all the other expressions. Then what would be the final contents of test_list
?
In my head, it should be:
a saw []
b saw []
c saw [a saw [], b saw []]
d saw [a saw [], b saw []]
e saw [a saw [], b saw [], c saw [a saw [], b saw []], d saw [a saw [], b saw []]]
f saw [a saw [], b saw [], c saw [a saw [], b saw []], d saw [a saw [], b saw []]]
Please explain why that is not the case.