https://github.com/zhaskell/z-messagepack
MessagePack codec
https://github.com/zhaskell/z-messagepack
Last synced: 11 months ago
JSON representation
MessagePack codec
- Host: GitHub
- URL: https://github.com/zhaskell/z-messagepack
- Owner: ZHaskell
- License: bsd-3-clause
- Created: 2021-01-12T06:34:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-26T04:26:14.000Z (about 5 years ago)
- Last Synced: 2025-06-01T22:28:55.585Z (about 1 year ago)
- Language: Haskell
- Size: 117 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
## Z-MessagePack
[](https://hackage.haskell.org/package/Z-MessagePack)
[](https://github.com/haskell-Z/z-messagepack/actions)
[](https://github.com/haskell-Z/z-messagepack/actions)
[](https://github.com/haskell-Z/z-messagepack/actions)
[](https://gitter.im/Z-Haskell/community)
This package is part of [Z](https://github.com/haskell-Z/Z) project, provides MessagePack codecs.
## Requirements
* A working haskell compiler system, GHC(>=8.6), cabal-install(>=2.4), hsc2hs.
* Tests need [hspec-discover](https://hackage.haskell.org/package/hspec-discover).
## Example usage
```haskell
{-# LANGUAGE DeriveGeneric, DeriveAnyClass, DerivingStrategies, TypeApplication #-}
import GHC.Generics
import qualified Z.MessagePack as MessagePack
import Z.MessagePack (MessagePack)
import qualified Z.Data.Text as T
data Person = Person
{ name :: T.Text
, age :: Int
, magic :: Bool
}
deriving (Show, Generic)
deriving anyclass MessagePack
> MessagePack.encode [Person {name = "Erik Weisz", age = 52, magic = True}]
> [145,131,164,110,97,109,101,170,69,114,105,107,32,87,101,105,115,122,163,97,103,101,52,165,109,97,103,105,99,195]
```