Hi Duncan,

I'm try to convert gconf to Cabal package, below is package:

Attachment: gconf.tar.gz
Description: Binary data

When i compile first, i got below error:
------------------------------> first error start 
<------------------------------
System/Gnome/GConf/GConfValue.chs:106:0:
    Illegal instance declaration for `GConfPrimitiveValueClass String'
        (All instance types must be of the form (T t1 ... tn)
         where T is not a synonym.
         Use -XTypeSynonymInstances if you want to disable this.)
    In the instance declaration for `GConfPrimitiveValueClass String'

System/Gnome/GConf/GConfValue.chs:138:0:
    Illegal instance declaration for `GConfValueClass String'
        (All instance types must be of the form (T t1 ... tn)
         where T is not a synonym.
         Use -XTypeSynonymInstances if you want to disable this.)
    In the instance declaration for `GConfValueClass String'
------------------------------> first error end   
<------------------------------

So i add `{-# LANGUAGE CPP, TypeSynonymInstances #-}` in GConfValue.chs.
But i got another error:

------------------------------> error start <------------------------------
System/Gnome/GConf/GConfValue.chs:106:9:
    Overlapping instances for GConfValueClass String
      arising from the superclasses of an instance declaration
                   at System/Gnome/GConf/GConfValue.chs:106:9-39
    Matching instances:
      instance GConfValueClass String
        -- Defined at System/Gnome/GConf/GConfValue.chs:138:9-30
      instance (GConfPrimitiveValueClass a) => GConfValueClass [a]
        -- Defined at System/Gnome/GConf/GConfValue.chs:172:9-57
    In the instance declaration for `GConfPrimitiveValueClass String'

System/Gnome/GConf/GConfValue.chs:320:29:
    Overlapping instances for GConfValueClass String
      arising from a use of `marshalToGConfValue'
                   at System/Gnome/GConf/GConfValue.chs:320:29-50
    Matching instances:
      instance GConfValueClass String
        -- Defined at System/Gnome/GConf/GConfValue.chs:138:9-30
      instance (GConfPrimitiveValueClass a) => GConfValueClass [a]
        -- Defined at System/Gnome/GConf/GConfValue.chs:172:9-57
    In the expression: marshalToGConfValue v'
    In a case alternative:
        (GConfValueString v') -> marshalToGConfValue v'
    In the expression:
        case v of {
          (GConfValueString v') -> marshalToGConfValue v'
          (GConfValueInt v') -> marshalToGConfValue v'
          (GConfValueFloat v') -> marshalToGConfValue v'
          (GConfValueBool v') -> marshalToGConfValue v'
          (GConfValueSchema)
            -> fail "GConf: setting schema types not supported"
          (GConfValueList v') -> marshalGConfValueDynListToGConfValue v'
          (GConfValuePair v') -> marshalGConfValueDynPairToGConfValue v' }
------------------------------> error end   <------------------------------

Something looks wrong.
And i don't know the detail of gconf binding, can you help me fix it?

Thanks,

  -- Andy
 
------------------------------------------------------------------------------
_______________________________________________
Gtk2hs-devel mailing list
Gtk2hs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel

Reply via email to