packages feed

msgpack 0.6.2 → 0.6.3

raw patch · 3 files changed

+26/−13 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

msgpack.cabal view
@@ -1,5 +1,5 @@ Name:               msgpack-Version:            0.6.2+Version:            0.6.3 Synopsis:           A Haskell implementation of MessagePack Description:   A Haskell implementation of MessagePack <http://msgpack.org/>
src/Data/MessagePack/Derive.hs view
@@ -9,7 +9,10 @@  import Control.Monad import Control.Monad.Error () -- for MonadPlus instance of Either e+import Data.Char+import Data.List import Language.Haskell.TH+import Language.Haskell.TH.Syntax  import Data.MessagePack.Assoc import Data.MessagePack.Pack@@ -40,7 +43,7 @@       match (conP conName $ map varP vars)         (normalB          [| put $ Assoc-              $(listE [ [| ( $(return $ LitE $ StringL $ show fname)+              $(listE [ [| ( $(return $ LitE $ StringL $ key conName fname)                            , toObject $(varE v)) |]                       | (v, (fname, _, _)) <- zip vars elms])           |])@@ -71,21 +74,15 @@       var <- newName "v"       vars <- replicateM (length elms) (newName "w")       doE $ [ bindS (conP 'Assoc [varP var]) [| get |] ]-            ++ zipWith (binds var) vars elms +++            ++ zipWith (binds conName var) vars elms ++             [ noBindS [| return $(foldl appE (conE conName) $ map varE vars) |] ]      alt c = error $ "unsupported constructor: " ++ pprint c -    binds var res (fname, _, _) =+    binds conName var res (fname, _, _) =       bindS (varP res)-            [| failN $ lookup $(return $ LitE $ StringL $ show fname) $(varE var) |]--failN Nothing = mzero-failN (Just a) =-  case tryFromObject a of-    Left _ -> mzero-    Right v -> return v-+            [| failN $ lookup $(return $ LitE $ StringL $ key conName fname)+                              $(varE var) |]  deriveObject :: Name -> Q [Dec] deriveObject typName = do@@ -93,3 +90,19 @@   p <- deriveUnpack typName   o <- [d| instance OBJECT $(conT typName) where |]   return $ g ++ p ++ o++failN Nothing = mzero+failN (Just a) =+  case tryFromObject a of+    Left _ -> mzero+    Right v -> return v++key conName fname+  | prefix `isPrefixOf` sFname && length sFname > length prefix =+    uncapital $ drop (length prefix) sFname+  | otherwise = sFname+  where+    prefix = map toLower $ nameBase conName+    sFname = nameBase fname+    uncapital (c:cs) | isUpper c = toLower c : cs+    uncapital cs = cs
test/UserData.hs view
@@ -11,7 +11,7 @@  data U   = C { c1 :: Int, c2 :: String }-  | D { d1 :: Double }+  | D { z1 :: Double }   deriving (Show, Eq)  deriveObject ''U