
Hi, As some of you may know, I'm working on adding support for dynamically loaded plugins to GHC this summer. As part of this we need a way to specify ordering on the compiler phases installed, so e.g. you can say that a phase you install should run after strictness analysis does. This problem begs for a more modular and principled solution than just reusing the current system where we use the natural numbers to impose an ordering on INLINE/RULE activations. I have proposed a system at http://hackage.haskell.org/trac/ghc/wiki/Plugins/Phases that replaces this with one of named compiler phases not only for plugins but for all activation control in the compiler. The proposal mostly remains backwards compatible with the most common uses of the numeric format, with an exception noted on the page and below. I would be interested in feedback on the design before the implementation is complete and in the wild. I'm especially interested in hearing if you believe that loss of support for numeric phase numbers > 2 is a problem, as this is the only breaking change that I'm proposing. Cheers, Max