Class System current status

Stephanie Weirich sweirich at
Thu May 11 09:45:15 EDT 2006

So it looks like we're stuck at pretty much the same proposals for the 
class system.

a) standardize on MPTC and FDs using rules from CHR paper.
b) don't standardize anything, and wait for ATs to take over
c) punt---standardize the library and exact form of FD for that library, 
but no more, or map out some longer timeline for this issue.

For a while I thought (a) was the clear choice. The theory has been 
worked out, we have a lot of experience using them, and key libraries 
depend on them.  However, not everyone is convinced by (a) because of  
the fear of too early standardization. We may end up with a lot of code 
that uses a feature that will eventually be deprecated.  There are 
perhaps three counterarguments to this point of view:
  - We're already in that state. There *is* a lot of Haskell code that 
uses FDs, it's just not Haskell 98 code. Whenever ATs take over, we'll 
still have to deal with this code.
  - It may be that all uses of MPTCs/FDs may be subsumed by ATs, and in 
fact there is (or will be) some automatic way of translating FD code to 
AT code.
  - It may not be all bad for a future Haskell standard to include both 
ATs and FDs. Certainly more complicated, but I haven't seen any evidence 
that these features interfere with eachother.

Are there any merits to these counterarguments?

More generally, our discussion about the class system seems to be 
stalled. How should we to come to a decision?

--- Stephanie

More information about the Haskell-prime mailing list