You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Rodrigo Setti (JIRA)" <ji...@apache.org> on 2013/04/08 23:23:17 UTC
[jira] [Comment Edited] (THRIFT-1921) Make Haskell work with new
GHC
[ https://issues.apache.org/jira/browse/THRIFT-1921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13625832#comment-13625832 ]
Rodrigo Setti edited comment on THRIFT-1921 at 4/8/13 9:22 PM:
---------------------------------------------------------------
Also, there is two issues left to be fixed:
1) Some higher level structures are not working because they're not Hashable. The following code fix that - but it should live somewhere else (probably Data.Hashable or Thrift):
{noformat}
instance Hashable a => Hashable (Vector.Vector a) where
hashWithSalt s v = hashWithSalt s $ Vector.toList v
instance (Hashable a, Hashable b) => Hashable (Map.HashMap a b) where
hashWithSalt s v = hashWithSalt s $ Map.toList v
instance Hashable a => Hashable (Set.HashSet a) where
hashWithSalt s v = hashWithSalt s $ Set.toList v
{noformat}
2) includes are not working if mapped to "import qualified". I'm wondering whether we should use a qualified name everywhere or don't import qualified.
was (Author: rodrigosetti):
Also, some higher level structures are not working because they're not Hashable. The following code fix that - but it should live somewhere else (probably Data.Hashable or Thrift):
{noformat}
instance Hashable a => Hashable (Vector.Vector a) where
hashWithSalt s v = hashWithSalt s $ Vector.toList v
instance (Hashable a, Hashable b) => Hashable (Map.HashMap a b) where
hashWithSalt s v = hashWithSalt s $ Map.toList v
instance Hashable a => Hashable (Set.HashSet a) where
hashWithSalt s v = hashWithSalt s $ Set.toList v
{noformat}
> Make Haskell work with new GHC
> ------------------------------
>
> Key: THRIFT-1921
> URL: https://issues.apache.org/jira/browse/THRIFT-1921
> Project: Thrift
> Issue Type: Bug
> Components: Haskell - Compiler
> Reporter: Rodrigo Setti
> Attachments: thrift-hs-fix.patch
>
>
> The Thrift Haskell compiler is generating code that's not working with the current version of Haskell's GHC compiler, and the current Haskell library.
> The fix is simple, in two places:
> * Remove the import {{import Thrift.Types ()}} because this moduled does not exist.
> * Map Thrift type {{string}} to Haskell's {{String}} (instead of {{Text}}) - that's what the Haskell Thrift library accepts.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira