Re: Class System current status

2006-05-11 Thread Stephanie Weirich
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
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org//mailman/listinfo/haskell-prime


Re: Class System current status

2006-05-11 Thread Taral

On 5/11/06, Stephanie Weirich [EMAIL PROTECTED] wrote:

a) standardize on MPTC and FDs using rules from CHR paper.



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


In my opinion, this one holds the greatest weight. The current mass of
*useful* and *used* code that is written with and requires FDs is
possibly the most important consideration of all.

Given that FD *syntax* is well-defined, I see no reason not to
standardize it. It remains, however, to decide on what level of
*minimum* termination support Haskell' will insist upon. The CHR paper
(with the confluence improvements by Claus) is currently the most
promising option, and has an implementation (another important
consideration) in GHC.

--
Taral [EMAIL PROTECTED]
You can't prove anything.
   -- Gödel's Incompetence Theorem
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org//mailman/listinfo/haskell-prime