The compiler currently assumes there is one entry point function, and this entry point is the only one which receives and returns containers. All other non-nested functions are inlined. This is problematic for several reasons:
Conditional expressions aren't handled correctly. x if b else y
Short circuit binary operations aren't handled correctly if x or y:
We need to change from an "entry point" model in the compiler to a parallelism nesting level, and outermost functions can all receive and return containers.
The compiler currently assumes there is one entry point function, and this entry point is the only one which receives and returns containers. All other non-nested functions are inlined. This is problematic for several reasons:
x if b else y
if x or y:
We need to change from an "entry point" model in the compiler to a parallelism nesting level, and outermost functions can all receive and return containers.