The Hugs 98 User's Guide
Prev | Chapter 5. Hugs vs Haskell 98 and addenda | Next

# 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.

Prev | Home | Next
Hugs vs Haskell 98 and addenda | Up | Language extensions supported by Hugs and GHC