HaskellDirect - an IDL compiler for Haskell We're pleased to announce the first public release of HaskellDirect, an IDL compiler for Haskell. * What is it? ============= HaskellDirect is an IDL compiler for Haskell, helping the Haskell programmer 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 the necessary marshaling code to interface to external functions (and vice versa.) 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, using HaskellDirect to create bindings to external (C) libraries. * Let external code call upon Haskell functions, using HaskellDirect to create external language interfaces to Haskell libraries. [This mode of operation is not supported in this release] * Call COM (Microsoft's Component Object Model) methods from Haskell, using HaskellDirect to help writing COM clients in Haskell. The generated stubs can either be used with HaskellScript or Hugs/GHC. * Create COM method wrappers, using HaskellDirect to package up Haskell code as COM objects. [This mode of operation is not supported in this release.] 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.) * More information ================== Pointers to a downloadable distribution, documentation, examples etc. is now available via the HaskellDirect home page: http://www.dcs.gla.ac.uk/fp/software/hdirect/ It is recommended that you compile the HaskellDirect sources with either Hugs, or GHC (3.03p3 or later) [The sources currently shows up a GHC-4.00 bug, so it is not recommended that you use it just yet here.] It might work without too much effort with other Haskell compilers too; haven't tested. * Bug reports/feedback ====================== Please send any bug reports, source mods or suggestions as to how HaskellDirect can be improved to the Glasgow Haskell Bugs list: [EMAIL PROTECTED]