
Hello, I am trying to recompile some haskell code. I have previously compiled it with ghc 6.4 and that went fine. The lines that give the trouble are import qualified Data.Edison.Coll.UnbalancedSet as US import qualified Data.Edison.Coll.MinHeap as MH data DecoratedFormula = DF{formula :: Formula, iformula :: IFormula} type FastClause = MH.Min US.Set DecoratedFormula When compiling with ghc 6.6.1 and edison 1.2.1 I get the following error message: FastClause.hs:71:25: `US.Set' is not applied to enough type arguments Expected kind `*', but `US.Set' has kind `* -> *' In the type synonym declaration for `FastClause' I have no idea how to solve this error, since as far as I can see the type declarations of both MinHeap and Set do not seem to have changed. Any suggestions are more then welcome. Regards, Brammert

Hi,
Hello,
data DecoratedFormula = DF{formula :: Formula, iformula :: IFormula}
type FastClause = MH.Min US.Set DecoratedFormula
FastClause.hs:71:25: `US.Set' is not applied to enough type arguments Expected kind `*', but `US.Set' has kind `* -> *' In the type synonym declaration for `FastClause'
My hunch would be that US.Set is expecting to be a set of something ("US.Set a" for example) and that the first type argument of MH.Min is expecting a type that can be used right away, rather than one that is waiting for a type parameter. So - did you mean something like: type FastClause = MH.Min (US.Set DecoratedFormula) Or perhaps something completely different? Matthew
Regards,
Brammert _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Hi, First of all I must say that the code that I am compiling is not my own code. So I cannot be a 100% sure of what the original author meant. But I think that what was meant is type FastClause = MH.Min (US.Set DecoratedFormula) However, if I try this I get an error further down the line instance Ord FastClause where compare cl1 cl2 = compare (toOrdList cl2) (toOrdList cl1) with the error `FastClause' is not applied to enough type arguments Expected kind `*', but `FastClause' has kind `* -> *' In the instance declaration for `Ord FastClause' So then MH.Min is still waiting for the second argument. regards, Brammert Matthew Pocock schreef:
Hi,
Hello,
data DecoratedFormula = DF{formula :: Formula, iformula :: IFormula}
type FastClause = MH.Min US.Set DecoratedFormula
FastClause.hs:71:25: `US.Set' is not applied to enough type arguments Expected kind `*', but `US.Set' has kind `* -> *' In the type synonym declaration for `FastClause'
My hunch would be that US.Set is expecting to be a set of something ("US.Set a" for example) and that the first type argument of MH.Min is expecting a type that can be used right away, rather than one that is waiting for a type parameter.
So - did you mean something like:
type FastClause = MH.Min (US.Set DecoratedFormula)
Or perhaps something completely different?
Matthew
Regards,
Brammert _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

I don't see how that could *ever* have compiled.
From MinHeap:
data Min h a = E | M a h deriving (Eq)
From UnbalancedSet:
data Set a = E | T (Set a) a (Set a) So the type synoynm for FastClasus is ill-kinded, as GHC says. Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell-users-bounces@haskell.org] On | Behalf Of Brammert Ottens | Sent: 23 October 2007 12:30 | To: glasgow-haskell-users@haskell.org | Subject: kind error | | Hello, | | I am trying to recompile some haskell code. I have previously compiled | it with ghc 6.4 and that went fine. The lines that give the trouble are | | import qualified Data.Edison.Coll.UnbalancedSet as US | import qualified Data.Edison.Coll.MinHeap as MH | | | data DecoratedFormula = DF{formula :: Formula, | iformula :: IFormula} | | type FastClause = MH.Min US.Set DecoratedFormula | | | When compiling with ghc 6.6.1 and edison 1.2.1 I get the following error | message: | | FastClause.hs:71:25: | `US.Set' is not applied to enough type arguments | Expected kind `*', but `US.Set' has kind `* -> *' | In the type synonym declaration for `FastClause' | | I have no idea how to solve this error, since as far as I can see the | type declarations of both MinHeap and Set do not seem to have changed. | Any suggestions are more then welcome. | | Regards, | | Brammert | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (3)
-
Brammert Ottens
-
Matthew Pocock
-
Simon Peyton-Jones