THRIFT-1598 Update Haskell generated code to use Text, Hash{Map,Set}, Vector
Patch: Itai Zukerman
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1340014 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/hs/src/Thrift.hs b/lib/hs/src/Thrift.hs
index e57cff5..42f5d32 100644
--- a/lib/hs/src/Thrift.hs
+++ b/lib/hs/src/Thrift.hs
@@ -1,5 +1,6 @@
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE KindSignatures #-}
+{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
--
-- Licensed to the Apache Software Foundation (ASF) under one
@@ -33,6 +34,7 @@
import Control.Monad ( when )
import Control.Exception
+import Data.Text.Lazy ( pack, unpack )
import Data.Typeable ( Typeable )
import Thrift.Transport
@@ -84,7 +86,7 @@
when (ae_message ae /= "") $ do
writeFieldBegin pt ("message", T_STRING , 1)
- writeString pt (ae_message ae)
+ writeString pt (pack $ ae_message ae)
writeFieldEnd pt
writeFieldBegin pt ("type", T_I32, 2);
@@ -108,7 +110,7 @@
else case tag of
1 -> if ft == T_STRING then
do s <- readString pt
- readAppExnFields pt record{ae_message = s}
+ readAppExnFields pt record{ae_message = unpack s}
else do skip pt ft
readAppExnFields pt record
2 -> if ft == T_I32 then