Windows
GHC is well supported on Windows.
Contents
Editors
- TextPad
- Emacs, Vi(m), etc
- Visual Haskell
- Eclipse
- Notepad++
Compilers
Tools for compilation
- As some of the packages contain Unix/Linux specific scripts/commands, you need MingW and MSYS to simulate a Unix environment. In some cases you need Cygwin instead.
- If you need to link to C-software, define an environment variable C_INCLUDE_PATH that lists the directories where the header files can be found. For linking the libraries you need to define an environment variable LIBRARY_PATH as well, listing the directories where .a and .lib files can be found.
- Packages are often delivered as a .tar or .tar.gz file, see How to unpack a tar file in windows
- Source files from Unix(-like) systems have lines terminated with Line Feed only; to convert them to MS-DOS format (as needed by Windows), use the
unix2dos
command (included in MSYS). For more information, give command:unix2dos --help
- To convert a set of files to MS-DOS format (note: this might damage binary files):
C:\MSYS\1.0\bin\find . -type f -exec unix2dos {} ;
- Note: the
find
command included in MSYS is different from the MS-DOSfind
command, therefore, you need to specify the entire path to this command.
Libraries
- GUI : wxHaskell - A binding of wxWidgets (formerly known as wxWindows) in Haskell. Note, see also wxHaskell/Building
- Win32 - low levelish bindings to Windows API. Comes with ghc and non-minimal hugs distribution. Win32 darcs repo
- HDBC-ODBC under Windows for database access.
- winerror: Error handling for foreign calls to the Windows API
Special tips and tricks for Windows
- Make sure your Haskell compiler (e.g. GHC) and tools are on your system path: http://www.computerhope.com/issues/ch000549.htm
- GHCi: Using GHCi from a DOS box sucks. Using it from withing shell mode in Emacs sucks a lot less - do 'M-x shell' in emacs, then type 'ghci'.
- GHCi on Cygwin: When running GHC under a Cygwin shell on Windows, Ctrl-C sometimes doesn't work. A workaround is to use the rlwrap program to invoke ghci : In addition to proper Ctrl-C, you also get emacs (or vi) key bindings and command history across sessions, which saves you a load of typing.
- If a package depends (either directly or indirectly) on the
unix
package, you cannot compile it on Windows
Direct downloads
Haskell
Below a list of binary packages packages for Windows. To be sure you get the last version of each, it is best to download the source from Hackage and compile.
Alex 2.0.1 (obsolete) (website) ; Cpphs 1.2 (obsolete) (website) ; Darcs 2.2.1 for Windows without Cygwin ; Darcs 2.2.0 for Windows without Cygwin, with SSH support files ; Darcs 2.2.0 for Windows with Cygwin (website) ; Drift (website) ; GHC 6.10.1 (website) ; Haddock 0.7 (obsolete) (website) ; Hat July 2006 (website) ; Happy 1.13 (obsolete) (website) ; Hoogle June 2006 (obsolete) (website) ; HsColour 1.9 (website) ; Lambda Shell 0.3 (obsolete) (website) ; WinHugs September 2006 (website) ;
Development
CVS 1.11.22 (website) ; Python 2.4.3 (website) ; Scons 0.96.1 (website) ; SVN 1.3.2 (website) ; TextPad 4.7.3 (website) ; Unix Utils 14-04-03 (website) ;