Personal tools

Applications and libraries/Interfacing other languages

From HaskellWiki

< Applications and libraries(Difference between revisions)
Jump to: navigation, search
m (InterfacingOtherLanguages moved to Libraries and tools/Interfacing other languages)
(+MissingPy)
Line 33: Line 33:
 
;[http://www.astercity.net/~khaliff/haskell/kdirect/index.html KDirect]
 
;[http://www.astercity.net/~khaliff/haskell/kdirect/index.html KDirect]
 
:A tool to simplify the process of interfacing C libraries to Haskell. It is less powerful than HaskellDirect, but easier to use and more portable.
 
:A tool to simplify the process of interfacing C libraries to Haskell. It is less powerful than HaskellDirect, but easier to use and more portable.
  +
  +
;[http://quux.org/devel/missingpy MissingPy]
  +
:MissingPy is really two libraries in one. At its lowest level, MissingPy is a library designed to make it easy to call into Python from Haskell. It provides full support for interpreting arbitrary Python code, interfacing with a good part of the Python/C API, and handling Python objects. It also provides tools for converting between Python objects and their Haskell equivalents. Memory management is handled for you, and Python exceptions get mapped to Haskell Dynamic exceptions. At a higher level, MissingPy contains Haskell interfaces to some Python modules.

Revision as of 04:40, 31 March 2006

The copyright status of this work is not known. Please help resolve this on the talk page.

This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Libraries and tools.

Tools for interfacing with other languages

The definition of a basic foreign function interface for Haskell (FFI) is finished. It has been agreed on and implemented by most Haskell implementors. The following tools already produce code for this interface. The Guide to Haskell's Foreign Function Interface provides a comparision of the different tools.

See also Web services and RPC.

Green Card</dt>
Green Card is a foreign function interface preprocessor for Haskell, simplifying the task of interfacing Haskell programs to external libraries (which are normally exposed via C interfaces). Green Card is currently able to generate code compatible with the Glasgow Haskell Compiler, Hugs and nhc.
HaskellDirect
HaskellDirect is an Interface Definition Language (IDL) compiler for Haskell, which helps interfacing Haskell code to libraries or components written in other languages (C). An IDL specification specifies the type signatures and types expected by a set of external functions. One important use of this language neutral specification of interfaces is to specify COM (Microsoft's Component Object Model) interfaces, and HaskellDirect offers special support for both using COM objects from Haskell and creating Haskell COM objects. HaskellDirect groks both the OSF DCE dialect of IDL (including the various extensions introduced by the Microsoft IDL compiler) and the OMG IIOP/CORBA dialect.
C->Haskell
A lightweight tool for implementing access to C libraries from Haskell.
HSFFIG
Haskell FFI Binding Modules Generator (HSFFIG) is a tool that takes a C library include file (.h) and generates Haskell Foreign Functions Interface import declarations for items (functions, structures, etc.) the header defines.
GCJNI
A Java Native Interface for Haskell. Allows Haskell to invoke Java code. Includes a tool to generate Haskell bindings for a Java library. Works for hugs and ghc under both Linux and Windows.
Haskell/Java VM Bridge
A bridge to the Java virtual machine via JNI for Haskell.
HaskellScript
HaskellScript is the collective name for all Haskell components, both tools and libararies, that allow interaction with the COM/ActiveX framework.
KDirect
A tool to simplify the process of interfacing C libraries to Haskell. It is less powerful than HaskellDirect, but easier to use and more portable.
MissingPy
MissingPy is really two libraries in one. At its lowest level, MissingPy is a library designed to make it easy to call into Python from Haskell. It provides full support for interpreting arbitrary Python code, interfacing with a good part of the Python/C API, and handling Python objects. It also provides tools for converting between Python objects and their Haskell equivalents. Memory management is handled for you, and Python exceptions get mapped to Haskell Dynamic exceptions. At a higher level, MissingPy contains Haskell interfaces to some Python modules.