Generalized phase control for GHC

Roman Leshchinskiy rl at
Fri Jul 4 21:20:28 EDT 2008

Hi Max,

sorry for replying so late, I've completely forgotten about this.

> 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.

Three things. Firstly, what would lenient ordering be useful for? You 
probably had a specific use case in mind? Secondly, I think it is quite 
important to be able to specify dependencies for already declared 
phases. That is, I (probably) want to be able to say in module C that 
phase X from module A should come before phase Y from module B. I 
suspect that's not quite possible with your current design. Lastly, in 
addition to < and > I'd also like to have = (i.e., phase X = phase Y 
which would make X an alias for Y).

As to the numeric phase ids, I'm all in favour of dropping them 
altogether. For legacy code, you could provide wired-in names 0, 1 and 2 
for now but I would deprecate them. Also, I'm one of the probably very 
few people who have ever used phase 3 and beyond and dropping support 
for that is perfectly fine with me.

Thanks for working on this!


More information about the Glasgow-haskell-users mailing list