Need help with typed-wire?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

127 Stars 11 Forks MIT License 87 Commits 9 Opened issues


Language independent type-safe communication

Services available


Need anything else?

Contributors list


Build Status Hackage


Hackage: typed-wire Stackage: typed-wire

Language independent type-safe communication

Motivation / WIP Notice

Here are some details on the library:

  • I wrote this because I have more and more micro-service architectures. The simplest form is a Haskell (REST-Api) Backend talking with an Elm/Purescript/... frontend. I got really tired of defining all data types in Haskell, Elm, PureScript, ... and writing JSON parsing/serialization functions for them in all languages. typed-wire attempts to solve this/my problem: It generates type definitions and matching JSON parsing/serialization for all target languages from a definition file. It can also generate API definitions, but this feature is not finished yet.
  • It's not ready yet - it is still missing some planned features, testing and documentation
  • It's used in production at one of my projects to ensure DRY type-safe communication between an Elm client and a Haskell server ( , german)
  • If anyone thinks this is cool, needs it too and would like to help out please shoot me an email :-)

Cli Usage: twirec

$ twirec --help
Generate bindings using typed-wire for different languages

Usage: twirec [--version] [-i|--include-dir DIR] [-e|--entrypoint MODULE-NAME] [--hs-out DIR] [--elm-out DIR] [--purescript-out DIR] Language-independent type-safe communication

Available options: -h,--help Show this help text --version Show version and exit -i,--include-dir DIR Directory to search for modules -e,--entrypoint MODULE-NAME Entrypoint for compiler --hs-out DIR Generate Haskell bindings to specified dir --elm-out DIR Generate Elm bindings to specified dir --purescript-out DIR Generate PureScript bindings to specified dir


  • Using cabal:
    cabal install typed-wire
  • Using Stack:
    stack install typed-wire
  • From Source (cabal):
    git clone && cd typed-wire && cabal install
  • From Source (stack):
    git clone && cd typed-wire && stack build


Supported GHC Versions

  • 7.10.2


Released under the MIT license. (c) 2015 - 2016 Alexander Thiemann [email protected]

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.