{"id":14457977,"name":"wireform-proto","ecosystem":"hackage","description":"A high-performance Protocol Buffers implementation for Haskell.\n.\nFeatures:\n.\n* .proto IDL parser (proto2 + proto3) and pure-text Haskell code generator\n* Annotation-driven Template Haskell deriver (Proto.TH.Derive) that emits\n  wire codecs directly from a hand-written Haskell record\n* loadProto Template Haskell splice that pairs the IDL parser with the\n  deriver for in-place type and instance generation\n* Allocation-disciplined hot path: unboxed-sum decoder, two-pass sized\n  encoder, pre-computed tags, packed repeated fields, lazy submessage\n  decoding\n* protoc plugin (protoc-gen-wireform), Cabal Setup.hs hook\n  (Proto.Setup), and an inline [proto|...|] quasi-quoter\n* Proto3 canonical JSON mapping, well-known types\n  (Timestamp, Duration, Any, FieldMask, Struct, Wrappers, ...),\n  .pbtxt text format, proto2 typed extensions, dynamic / untyped\n  messages, and a runtime TypeRegistry\n* gRPC service-method codegen (the wire framing lives in\n  wireform-grpc)\n* Conformance suite driver that runs the upstream\n  conformance_test_runner end-to-end\n.\nSee the umbrella package wireform for the multi-format facade and the\nwireform-gen codegen CLI.\n.\nPerformance tip: compiling with ghc-options: -fllvm alongside\n-O2 typically yields 20-30% throughput gains on the encode/decode hot\npaths.  LLVM produces better instruction scheduling and vectorisation for\nthe unboxed-sum decoder and the sized-builder arithmetic.  The default\nnative code generator works correctly; LLVM is strictly optional.","homepage":"https://github.com/iand675/wireform-","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/iand675/wireform-","keywords_array":["bsd3","codec","data","library","network","program","serialization","Propose Tags"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-05-16T07:16:28.000Z","latest_release_published_at":"2026-05-16T07:16:28.000Z","latest_release_number":"0.1.0.0","last_synced_at":"2026-05-17T07:33:02.039Z","created_at":"2026-05-16T07:19:26.569Z","updated_at":"2026-05-17T07:33:32.126Z","registry_url":"https://hackage.haskell.org/package/wireform-proto","install_command":"cabal install wireform-proto","documentation_url":null,"metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-17T07:33:32.101Z","dependent_packages_count":0,"downloads":1,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":99.80141102691404,"dependent_repos_count":53.60857068199634,"dependent_packages_count":19.733472694016204,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":57.71448480097553},"purl":"pkg:hackage/wireform-proto","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/wireform-proto","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/wireform-proto","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/wireform-proto/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/wireform-proto/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/wireform-proto/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/wireform-proto/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/wireform-proto/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/wireform-proto/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/wireform-proto/codemeta","maintainers":[{"uuid":"IanDuncan","login":"IanDuncan","name":null,"email":null,"url":null,"packages_count":79,"html_url":"https://hackage.haskell.org/user/IanDuncan","role":null,"created_at":"2026-05-16T07:19:28.195Z","updated_at":"2026-05-16T07:19:28.195Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/IanDuncan/packages"}]}