• CEP 905 - Phase separation
  • What should be done?
  • Case study 1: Inner functions
  • Case study 2: NumPy support
  • Case study 3: Type inference
  • Details
  • Problems
  • Problem 1: Functions needs type information of other functions prior to type analysis
  • Problem 2: Local variables in recursive functions
  • Possible strategies
  • Strategy 1 - Add new recursive phases directly in the nodes
  • Strategy 2 - Newly added phases are controlled by visitors, but live in nodes
  • Strategy 3
  • Strategy 4
  • Notes
  • scope allocation
  • analyse_control_flow