hdirect: An IDL compiler for Haskell

[ bsd3, development, library, program ] [ Propose Tags ]

HaskellDirect is an IDL compiler for Haskell, which offers a helping hand to the Haskell programmer that wants to better interact with and reuse external code.

Interfacing Haskell code to external code involves the conversion of values between the Haskell world and the outside, as data representations and details of how memory is managed, are worlds apart at times. Manually writing the boilerplate code that takes care of this conversion is about as exciting as watching grass grow and, as a result, error prone.

Using an Interface Definition Language (IDL) as basis, HaskellDirect automates the generation of such impedance matching code, generating all the necessary marshaling code for you.

With IDL, the functionality provided by a programming interface is specified in a programming language neutral framework. The HaskellDirect IDL compiler converts this specification into a set of method stubs. Depending on how the compiler is invoked, these stubs can be used to:

  • Call upon external functions from within Haskell, HaskellDirect creates bindings to external (C-callable) libraries.

  • Let external code call upon Haskell functions, HaskellDirect creates foreign/external language interfaces to Haskell libraries.

  • Call COM (Microsoft's Component Object Model) methods from Haskell, HaskellDirect helps you use Microsoft COM components from within Haskell. The generated stubs can be used with Hugs98 or GHC.

  • Create COM method wrappers, HaskellDirect packages up Haskell code as COM components.

The HaskellDirect IDL compiler currently groks both the OSF DCE dialect of IDL (including the various extensions introduced by the Microsoft IDL compiler) and the OMG IIOP/CORBA dialect. (Only the former can be used for describing COM interfaces.)

[Skip to Readme]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.21.0
Change log NEWS
Dependencies array, base (>=2 && <5), haskell98 (<1.2), pretty (<1.2) [details]
License BSD-3-Clause
Copyright 1998-2003 University of Glasgow and Sigbjorn Finne. 2010 Don Stewart
Author Sigbjorn Finne
Maintainer Don Stewart <dons@galois.com>
Revised Revision 1 made by HerbertValerioRiedel at 2018-08-29T09:25:56Z
Category Development
Home page http://www.haskell.org/hdirect/
Source repo head: darcs get http://code.haskell.org/~dons/code/hdirect
Uploaded by DonaldStewart at 2010-02-14T21:10:16Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables hdirect
Downloads 1451 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for hdirect-0.21.0

[back to package description]
This is the top-level directory for HaskellDirect, an IDL compiler
for Haskell.

For details of how to compile this distribution, please consult the
INSTALL file. General package info in ANNOUNCE.

         Sigbjorn Finne <sof@dcs.gla.ac.uk>

         Daan Leijen <daan@cs.uu.nl>