5.2. Addenda to Haskell 98

These addenda describe extensions that have been standardized across haskell implementations.

5.2.1. Foreign Function Interface

The Haskell Foreign Function Interface, as described in the FFI addendum is implemented except for the following limitations:

  • Only the ccall, stdcall and dotnet calling conventions are supported. All others are flagged as errors.

  • foreign export is not implemented.

  • foreign import "wrapper" is only implemented for the x86, PowerPC and Sparc architectures and has been most thoroughly tested on Windows and Linux using gcc.

Modules containing foreign declarations must be compiled with ffihugs before use (see Section 4.2).

5.2.2. Hierarchical Namespace Extension

The Haskell Hierarchical Namespace Extension allows dots in module names, e.g. System.IO.Error, creating a hierarchical module namespace. Hugs has supported this since the December 2001 release. When searching for the source file corresponding to a hierarchical name, Hugs replaces the dots with slashes.