{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T20:11:29Z","timestamp":1760040689699,"version":"build-2065373602"},"publisher-location":"New York, NY, USA","reference-count":27,"publisher":"ACM","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2025,10,9]]},"DOI":"10.1145\/3759164.3759350","type":"proceedings-article","created":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T19:17:47Z","timestamp":1760037467000},"page":"67-79","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Automatic C Bindings Generation for Haskell"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0009-0000-0366-4636","authenticated-orcid":false,"given":"Travis","family":"Cardwell","sequence":"first","affiliation":[{"name":"Well-Typed LLP, London, United Kingdom"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-2728-972X","authenticated-orcid":false,"given":"Sam","family":"Derbyshire","sequence":"additional","affiliation":[{"name":"Well-Typed LLP, London, United Kingdom"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3979-3397","authenticated-orcid":false,"given":"Edsko","family":"de Vries","sequence":"additional","affiliation":[{"name":"Well-Typed LLP, London, United Kingdom"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8865-9237","authenticated-orcid":false,"given":"Dominik","family":"Schrempf","sequence":"additional","affiliation":[{"name":"Well-Typed LLP, London, United Kingdom"}]}],"member":"320","published-online":{"date-parts":[[2025,10,9]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3242744.3242746"},{"key":"e_1_3_2_1_2_1","unstructured":"Brendan Hay. Accessed: 2025-06-02. A comprehensive Amazon Web Services SDK for Haskell. https:\/\/github.com\/brendanhay\/amazonka"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/10722298_8"},{"key":"e_1_3_2_1_4_1","unstructured":"Artem M. Chirkin. Accessed: 2025-06-02. Low-level low-overhead Haskell bindings to the Vulkan API. https:\/\/github.com\/achirkin\/vulkan"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/582153.582176"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3140587.3062363"},{"key":"e_1_3_2_1_7_1","unstructured":"Ellie Hermaszewska. Accessed: 2025-06-02. Haskell bindings for Vulkan. https:\/\/github.com\/expipiplus1\/vulkan"},{"key":"e_1_3_2_1_8_1","volume-title":"ISO C Standard","author":"ISO.","year":"1999","unstructured":"ISO. 1999. ISO C Standard 1999. http:\/\/www.open-std.org\/jtc1\/sc22\/wg14\/www\/docs\/n1124.pdf ISO\/IEC 9899:1999 draft"},{"key":"e_1_3_2_1_9_1","volume-title":"Proceedings of the 1999 Haskell Workshop.","author":"Jones Mark P","year":"1999","unstructured":"Mark P Jones. 1999. Typing Haskell in Haskell. In Proceedings of the 1999 Haskell Workshop."},{"key":"e_1_3_2_1_10_1","unstructured":"Ian-Woo Kim. Accessed: 2025-06-02. Haskell-C++ Foreign Function Interface Generator. https:\/\/github.com\/wavewave\/fficxx"},{"key":"e_1_3_2_1_11_1","unstructured":"Edward Kmett. Accessed: 2025-06-02. Complete raw OpenGL bindings for Haskell. https:\/\/github.com\/ekmett\/gl"},{"key":"e_1_3_2_1_12_1","unstructured":"Chris Lattner. 2008. LLVM and Clang: Next Generation Compiler Technology. Presentation at BSDCan 2008: The BSD Conference."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017472.1017479"},{"key":"e_1_3_2_1_14_1","volume-title":"Marlow","author":"Simon","year":"2010","unstructured":"Simon (Editor) Marlow. 2010. Haskell Language Report."},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.3217\/jucs-023-01-0042"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-27861-0_2"},{"key":"e_1_3_2_1_17_1","volume-title":"Tackling the awkward squad: monadic input\/output, concurrency, exceptions, and foreign-language calls in Haskell","author":"Jones Simon Peyton","unstructured":"Simon Peyton Jones. 2001. Tackling the awkward squad: monadic input\/output, concurrency, exceptions, and foreign-language calls in Haskell. IOS Press, 47\u201396. isbn:ISBN 1 58603 1724 https:\/\/www.microsoft.com\/en-us\/research\/publication\/tackling-awkward-squad-monadic-inputoutput-concurrency-exceptions-foreign-language-calls-haskell\/"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3241625.2976013"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.7551\/mitpress\/1104.003.0020"},{"key":"e_1_3_2_1_20_1","unstructured":"SimulaVR. Accessed: 2025-06-02. Haskell bindings for GdNative. https:\/\/github.com\/SimulaVR\/godot-haskell"},{"key":"e_1_3_2_1_21_1","unstructured":"The GHC Team. Accessed: 2025-05-30. Writing Haskell interfaces to C code: hsc2hs. https:\/\/downloads.haskell.org\/ghc\/latest\/docs\/users_guide\/utils.html"},{"key":"e_1_3_2_1_22_1","unstructured":"The c2hs Team. Accessed: 2025-05-30. c2hs is a pre-processor for Haskell FFI bindings to C libraries. https:\/\/github.com\/haskell\/c2hs"},{"key":"e_1_3_2_1_23_1","unstructured":"The rust-bindgen Team. Accessed: 2025-05-30. bindgen automatically generates Rust FFI bindings to C and C++ libraries. https:\/\/rust-lang.github.io\/rust-bindgen\/"},{"key":"e_1_3_2_1_24_1","unstructured":"The LLVM Project. Accessed: 2025-06-02. libclang (part of the LLVM Project). https:\/\/clang.llvm.org\/docs\/LibClang.html"},{"key":"e_1_3_2_1_25_1","unstructured":"The gtk2hs Team. Accessed: 2025-06-02. Semi-automatically generate binding modules complete with Haddock format documentation for all GTK modules. https:\/\/github.com\/gtk2hs\/gtk2hs\/tree\/master\/tools\/apiGen"},{"key":"e_1_3_2_1_26_1","unstructured":"The haskell-gi Team. Accessed: 2025-06-02. Generate Haskell bindings for GObject-Introspection capable libraries. https:\/\/github.com\/haskell-gi\/haskell-gi"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010248"}],"event":{"name":"Haskell '25: 18th ACM SIGPLAN International Haskell Symposium","location":"Singapore Singapore","acronym":"Haskell '25","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGAda ACM Special Interest Group on Ada Programming Language"]},"container-title":["Proceedings of the 18th ACM SIGPLAN International Haskell Symposium"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3759164.3759350","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T19:29:13Z","timestamp":1760038153000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3759164.3759350"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,10,9]]},"references-count":27,"alternative-id":["10.1145\/3759164.3759350","10.1145\/3759164"],"URL":"https:\/\/doi.org\/10.1145\/3759164.3759350","relation":{},"subject":[],"published":{"date-parts":[[2025,10,9]]},"assertion":[{"value":"2025-10-09","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}