A preprocessor that helps with writing Haskell bindings to C code

Version on this page:0.68.4@rev:1
LTS Haskell 14.6:0.68.6
Stackage Nightly 2019-09-21:0.68.6
Latest on Hackage:0.68.6

See all snapshots hsc2hs appears in

BSD-3-Clause licensed by Marcin Kowalczyk
Maintained by ghc-devs@haskell.org

Module documentation for 0.68.4

This version can be pinned in stack with:hsc2hs-0.68.4@sha256:713092fccf64712b510ef1228695b14e1bf7ef0d1b2ce069776e0dcf894d4bf1,2437

There are no documented modules for this package.

The hsc2hs program can be used to automate some parts of the process of writing Haskell bindings to C code. It reads an almost-Haskell source file with embedded special constructs, and outputs a real Haskell file with these constructs processed, based on information taken from some C headers. The extra constructs provide Haskell counterparts of C types, values of C constants, including sizes of C types, and access to fields of C structs.

For more details, see the hsc2hs section in the GHC User's Guide.



  • Add support to read command line arguments supplied via response files (#13896)


  • Support GHC 8.2.1

  • Make hsc_alignment macro work in clang (D3346)

  • Track column numbers to improve GHC’s caret diagnostic display (#13388)


  • Fix type signature of generated main test function to avoid C compiler warnings about unused argc/argv function parameters during feature testing.

  • Double-escape paths used to build call to hsc_line (#12504)

comments powered byDisqus