This is a proposal that will enable us to implement Konrad’s requested “aggregate to an expression” feature.
The proposal will move broadcasts from Python into Scala by adding a Broadcast
IR node:
case class Broadcast(typ: Type, value: Annotation, id: String)
I also have an idea to simplify some of the executions inside MatrixIR/TableIR nodes: globals, column values, and Broadcast references will be packaged up into a single broadcast value.
I didn’t want to write out an essay because I want to start coding, but this is what I’m up to today.