Using C libraries in Haskell with Cabal

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

Our great sponsors
  • LearnThisRepo.com - Learn 300+ open source libraries for free using AI.
  • WorkOS - The modern API for authentication & user identity.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • raylib

    A simple and easy-to-use library to enjoy videogames programming

    I am trying to use Raylib in my Haskell library with cabal. I can get it working with plain FFI and GHC, but when I try to convert it into a cabal project, it doesn't work.

  • hs-zstd

    Bindings to the Zstandard library to make it usable from the Haskell programming language.

    It kinda depends on how easy it is to build the C library, but assuming you can basically just list the files to point the C compiler at, yeah, it's not that hard to just include the C library in your project itself. The zstd library on Hackage does this (source on Github).

  • LearnThisRepo.com

    Learn 300+ open source libraries for free using AI. LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!

  • raylib-haskell

    Haskell bindings to raylib

    There are some projects on github which might help: https://github.com/DevJac/raylib-haskell

  • raylib-hs

    https://github.com/danielc777888/raylib-hs (my own)

  • bindings-DSL

    Library and macros to simplify writing Haskell FFI code

    Maybe you could write a FFI-Library for Raylib with the help of [bindings-dsl](https://github.com/rethab/bindings-dsl/wiki). I haven't tried anything similar myself, but would also be interested if this would be feasible.

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts