bond: Bond schema compiler and code generator

[ code-generation, compiler, language, library, mit, program ] [ Propose Tags ]

Bond is a cross-platform framework for handling schematized data. It supports cross-language deserialization and powerful generic mechanisms for efficiently manipulating data. . This package contains a library for parsing the Bond schema definition language and performing template-based code generation. The library includes built-in templates for generating standard Bond C++ and C# code, as well as utilities for writing custom codegen templates. . The package also contains a command-line compilercodegen tool, named gbc, which is primarily used to generate code for C++ and C# programs using Bond.


[Last Documentation]

  • Language
    • Bond
      • Codegen
        • Cpp
          • Language.Bond.Codegen.Cpp.ApplyOverloads
          • Language.Bond.Codegen.Cpp.Apply_cpp
          • Language.Bond.Codegen.Cpp.Apply_h
          • Language.Bond.Codegen.Cpp.Enum_h
          • Language.Bond.Codegen.Cpp.Grpc_cpp
          • Language.Bond.Codegen.Cpp.Grpc_h
          • Language.Bond.Codegen.Cpp.Reflection_h
          • Language.Bond.Codegen.Cpp.Types_cpp
          • Language.Bond.Codegen.Cpp.Types_h
          • Language.Bond.Codegen.Cpp.Util
        • Cs
          • Language.Bond.Codegen.Cs.Grpc_cs
          • Language.Bond.Codegen.Cs.Types_cs
          • Language.Bond.Codegen.Cs.Util
        • Language.Bond.Codegen.CustomMapping
        • Java
          • Language.Bond.Codegen.Java.Class_java
          • Language.Bond.Codegen.Java.Enum_java
          • Language.Bond.Codegen.Java.Util
        • Language.Bond.Codegen.Templates
        • Language.Bond.Codegen.TypeMapping
        • Language.Bond.Codegen.Util
      • Language.Bond.Lexer
      • Language.Bond.Parser
      • Syntax
        • Language.Bond.Syntax.Internal
        • Language.Bond.Syntax.JSON
        • Language.Bond.Syntax.SchemaDef
        • Language.Bond.Syntax.Types
        • Language.Bond.Syntax.Util
      • Language.Bond.Util


Manual Flags


Treat warnings as errors for building bond


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,,,,,,,,,,, (info)
Dependencies aeson, async, base (>=4.7 && <5), bond, bytestring, cmdargs, directory, filepath, megaparsec, monad-loops, mtl, process, scientific, shakespeare, text, unordered-containers [details]
License MIT
Copyright Copyright (c) Microsoft. All rights reserved.
Author Adam Sapek <>
Maintainer Bond Development Team <>
Category Language, Compiler, Code Generation
Home page
Bug tracker
Source repo head: git clone
Uploaded by chwarr at 2020-05-27T01:57:23Z
Reverse Dependencies 1 direct, 2 indirect [details]
Executables gbc
Downloads 10220 total (38 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2020-05-27 [all 3 reports]