.. fficxx documentation master file, created by sphinx-quickstart on Thu Dec 29 11:23:22 2022. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to fficxx's documentation! ================================== fficxx ("eff fix") is an automatic haskell Foreign Function Interface (FFI) generator to C++. To use fficxx, you write a Haskell model of the C++ public interfaces and fficxx generates both a C wrapper and associated haskell functions and type classes which reflect specified model of the C++ interfaces. It is currently the user's responsibility to specify a correct model of the C++ interfaces, because fficxx does not presently check for model correctness. While haskell has a well-specified standard for C FFI, making haskell-C++ FFI is an arbitrary and painful process. Since Object-Oriented Programming (OOP) paradigm and Functional Programming (FP) paradigm are different, automatic translation of C++ libraries to haskell libraries is not a straightforward task. The goal of fficxx is to minimize this disparity and maximize user's convenience by providing familiar interface to the original C++ library as a result. Public Haskell-C++ binding generated by fficxx are now collected in `fficxx-projects `_. fficxx is separated into generator part and runtime part: * fficxx : FFI types and binding generator library * fficxx-runtime : runtime modules needed for various common routines Haskell packages that are generated from fficxx will be dependent on fficxx-runtime. In addition, C++ standard library under `std` namespace is being generated as a package from fficxx. * stdcxx: generated by ./stdcxx-gen/Gen.hs .. toctree:: :maxdepth: 2 :caption: Contents: getting_started oop_model_in_fficxx real_world_usage references Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`