Personal tools

Mac OS X

From HaskellWiki

Revision as of 23:40, 21 November 2009 by MtnViewMark (Talk | contribs)

Jump to: navigation, search



1.1 Mac OS X 10.5 (Leopard)

To install GHC on Mac OS X 10.5 (Leopard), there are the following options:

1.2 Mac OS X 10.6 (Snow Leopard)

Mac OS X 10.6.x (Snow Leopard) works with GHC, after you apply a simple patch. The problem is that GHC generates 32bit code, but gcc on Snow Leopard defaults to 64bit code on machines with processors that support it. The patch simply tells GHC to tell gcc work in 32bit:

  • Install the Haskell Platform
  • You will need to patch just this file:
    • /Library/Frameworks/GHC.framework/Versions/Current/usr/bin/ghc-6.10.4
  • Insert -optc-m32 -opta-m32 -optl-m32 just before the last parameter. The last line in that file is rather long, and should now end like:
    • -dynload wrapped -optc-m32 -opta-m32 -optl-m32 ${1+"$@"}
  • P.S.: If you have a different version of GHC than 6.10.4, then adjust the file name appropriately.
  • P.P.S.: Don't be tempted to just put an edited local copy of the script in ~/bin/ghc, or edit all the various GHC files in /usr/bin. There is a maze of twisty symlinks that all eventually lead to the above script, and fixing just it is far simpler.

See also Haskell on Snow Leopard.

To uninstall ghc call:

sudo /Library/Frameworks/GHC.framework/Tools/Uninstaller


3 Editors with Haskell support

3.1 Open Source

  • AquaMacs, a graphical Emacs version
  • Eclipse with the EclipseFP plugin
  • Emacs, is installed on every Mac
  • Leksah
  • MacVim, a graphical Vim version
  • Vim, is installed on every Mac
  • Yi (written in Haskell itself!), is available through cabal-install

3.2 Commercial





and Smultron:


TextEdit is Mac's default text editor, a very basic editor that works fine for most uses, you must however be careful to put it into plain text mode using the Format menu.

4 Shipping Installable Haskell Applications

  • mkbndl builds installable Mac OSX applications from your Haskell project.

5 Links