@hackage hs-dotnet0.4.0

Pragmatic .NET interop for Haskell

  • Categories

    • License

      BSD-3-Clause

    • Maintainer

      Sigbjorn Finne <sof@forkIO.com>

    • Versions

    == hs-dotnet: a pragmatic Haskell .NET interop layer ==

    This is the README for hs-dotnet, a package that lets you access and use .NET code / classes from Haskell (and vice versa..) Feel the power!

    === Web page ===

    More info on the package, releases, etc can be found at

    http://haskell.forkIO.com/dotnet

    === Getting started ===

    After having built and installed the Cabal package, you're ready to go. Have a look in the examples/ directory for some bare-bones examples

    == Generating class wrappers ==

    While it is possible to access .NET without taking such a structured approach, you may choose to generate Haskell wrapper modules for the .NET-side classes you want to access. Writing these out by hand, and in a manner that's type-safe, gets tiresome after a while and unncessarily exposes you to RSI risks, so a tool is provided for this in... tools/

    Simply name the class you want to wrap up, possibly along with the -d flag, and it generates a Haskell module for the class. The tool has a couple of shortcomings and limitations at the moment, but in most cases that should give you a workable Haskell module.

    Improvements to wrapper generation is still evolving and expanded to make the interface to the .NET world more natural to the Haskell programmer.

    === Installation ===

    Installation amounts to building and installing the Cabal package.

    Notice that you will have to perform the install step before you are able to use the package. The reason being that the supporting .NET assembly (and accompanying COM classes) needs to be installed(GACed) and published first.

    You may manually do this step by running 'gacInstaller' on HsInvoker.dll and 'regasm' on same.