How do you avoid program representation bloat?

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • - Download’s Tech Salary Report
  • SonarLint - Clean code begins in your IDE with SonarLint
  • futhark

    :boom::computer::boom: A data-parallel functional programming language

    In my own compiler, depending on how you count, the program goes through at least six representations. Each compilation target may also use different representations after the middle-end. I would like to have even more, but my implementation language (Haskell) and perhaps my own lack of skill makes it infeasible to trivially define new IRs that are small variants of a previous one (65 lines is the current lower bound for a representation that doesn't have anything interesting going on - but the line count increases quickly once you want custom IR nodes).

  • langs

    The language itself is here. I've added a section at the end which lists the special options that can be used to display the generated PCL, MCL and other internal structures, if you manage to run it (you will need Windows). These are otherwise not documented.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts