bryancatanzaro / copperhead

Data Parallel Python
Apache License 2.0
207 stars 28 forks source link

Entry point model #4

Open bryancatanzaro opened 12 years ago

bryancatanzaro commented 12 years ago

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:

  1. Conditional expressions aren't handled correctly. x if b else y
  2. 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.