The main question is whether or not the Haskell compiler
(GHC) runs on your platform.
A “platform” is a
architecture/manufacturer/operating-system combination, such as
sparc-sun-solaris2. Other common ones are
alpha-dec-osf2,
hppa1.1-hp-hpux9,
i386-unknown-linux,
i386-unknown-solaris2,
i386-unknown-freebsd,
i386-unknown-cygwin32,
m68k-sun-sunos4,
mips-sgi-irix5,
sparc-sun-sunos4,
sparc-sun-solaris2,
powerpc-ibm-aix.
Some libraries may only work on a limited number of
platforms; for example, a sockets library is of no use unless the
operating system supports the underlying BSDisms.
The GHC hierarchy of Porting Goodness: (a) Best is a
native-code generator; (b) next best is a
“registerised” port; (c) the bare minimum is an
“unregisterised” port.
(“Unregisterised” is so terrible that we won't say
more about it).
We use Sparcs running Solaris 2.7 and x86 boxes running
FreeBSD and Linux, so those are the best supported platforms,
unsurprisingly.
Here's everything that's known about GHC ports. We
identify platforms by their “canonical”
CPU/Manufacturer/OS triple.
alpha-dec-{osf,linux,freebsd,openbsd,netbsd}:
The OSF port is currently working (as of GHC version
5.02.1) and well supported. The native code generator is
currently non-working. Other operating systems will
require some minor porting.
sparc-sun-sunos4
Probably works with minor tweaks, hasn't been tested
for a while.
sparc-sun-solaris2
Fully supported (at least for Solaris 2.7),
including native-code generator.
hppa1.1-hp-hpux (HP-PA boxes running HPUX 9.x)
A registerised port is available for version 4.08,
but GHC hasn't been built on that platform since (as far
as we know). No native-code generator.
GHC works registerised and has a native code
generator. You must have GCC 2.7.x
or later. NOTE about glibc versions:
GHC binaries built on a system running glibc
2.0 won't work on a system running
glibc 2.1, and vice versa. In general,
don't expect compatibility between
glibc versions, even if the shared
library version hasn't changed.
i386-unknown-freebsd (PCs running FreeBSD 2.2 or
higher)
GHC works registerised. Pre-built packages are
available in the native package format, so if you just
need binaries you're better off just installing the
package (it might even be on your installation
CD!).
i386-unknown-openbsd (PCs running OpenBSD)
Supported, with native code generator. Packages are
available through the ports system in the native package
format.
i386-unknown-netbsd (PCs running NetBSD and
OpenBSD)
Will require some minor porting effort, but should
work registerised.
i386-unknown-mingw32 (PCs running Windows)
Fully supported under Win9x, WinNT, Win2k, and
WinXP. Includes a native code generator. Building from
source requires a recent Cygwin distribution
to be installed.
ia64-unknown-linux
GHC currently works unregisterised. A registerised
port is in progress.
mips-sgi-irix5
Port has worked in the past, but hasn't been tested
for some time (and will certainly have rotted in various
ways). As usual, we don't have access to machines and
there hasn't been an overwhelming demand for this port,
but feel free to get in touch.
powerpc-ibm-aix
Port currently doesn't work, needs some minimal
porting effort. As usual, we don't have access to
machines and there hasn't been an overwhelming demand for
this port, but feel free to get in touch.
powerpc-apple-darwin
Supported registerised. No native code
generator.
powerpc-apple-linux
Not supported (yet).
Various other systems have had GHC ported to them in the
distant past, including various Motorola 68k boxes. The 68k
support still remains, but porting to one of these systems will
certainly be a non-trivial task.