I wrote:

   Sergey Mechveliani wrote:

   :   As to   `instance D a',   
   :   it is not a loss. Because `instance D a' is the same as  
   :   `class D a' - supplied with the default definition. For example,
   :   the illegal declaration pair
   :
   :         class    C a => D a  where  d :: a -> a
   :
   :         instance C a => D a  where  d = <definition>
   :
   :
   :   can be replaced with the legal and simpler declaration
   :
   :         class C a => D a  where  d :: a -> a
   :                                  d = <definition>
   :
   [...]
   You're equivalence is correct ...

Buzzz. No, it's not. It does not actually give any instance of D.
You have to declare all of them seperately, and you would rather want
to just say     instance C a => D a     but you can't.
It's much like the Textual example.

Christian Sievers


Reply via email to