|Subject:||[Haskell-cafe] could we get a Data instance for Data.Text.Text?|
|Date:||Fri, 22 Jan 2010 16:24:19 -0600|
Would it be possible to get a Data instance for Data.Text.Text? This would allow us to create a Serialize instance of Text for use with happstack -- which would be extremely useful.
We (at seereason) are currently using this patch:
which basically adds:
+textType = mkStringType "Data.Text"
+instance Data Text where
+ toConstr x = mkStringConstr textType (unpack x)
+ gunfold _k z c = case constrRep c of
+ (CharConstr x) -> z (pack [x])
+ _ -> error "gunfold for Data.Text"
+ dataTypeOf _ = textType
This particular implementation avoids exposing the internals of the Data.Text type by casting it to a String in toConstr and gunfold. That is similar to how Data is implemented for some numeric types. However, the space usage of casting in Float to a Double is far less than casting a Text to a String, so maybe that is not a good idea?
Alternatively, Data.ByteString just does 'deriving Data'. However, bytestring also exports Data.ByteString.Internal, wheres Data.Text.Internal is not exported.
Any thoughts? I would like to get this handled upstream so that all happstack users can benefit from it.
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
|<Prev in Thread]||Current Thread||[Next in Thread>|
|Previous by Date:||Re: [Haskell-cafe] http://trac.haskell.org down?, Daniel Fischer|
|Next by Date:||Re: [Haskell-cafe] GHC bug? Cabal bug? Haddock bug?, David Waern|
|Previous by Thread:||[Haskell-cafe] http://trac.haskell.org down?, James Britt|
|Next by Thread:||[Haskell-cafe] Re: could we get a Data instance for Data.Text.Text?, Bryan O'Sullivan|
|Indexes:||[Date] [Thread] [Top] [All Lists]|