felixSchl
The current output is heavily based on expressions, meaning that we apply functions and feed the result into other functions etc. It would be interesting to explore a transform that would turn these expressions into statements by generating fresh variable names in the current block scope and then perform the wiring up. For example: Turn this: ``` purs_any_app(f, purs_any_app(g, purs_any_int_new(100))) ``` into this: ``` const ANY * $value0 = purs_any_int_new(100); const ANY * $value1 = purs_any_app(g, $value0); const ANY * $value2 = purs_any_app(f, $value1); return $value2; ``` At least one benefit of this is that it makes it easier to set breakpoints in generated programs. I am currently performing these transformations by hand when debugging generated output.