Version 1.1 of Haskell for Mac was released today! In the previous two blog posts, we already covered two new features of this release: the upgraded compiler and libraries as well as identifier completion. In this post, we are going to look at a third frequently requested feature, namely the ability to use the integrated compiler on the command line and to be able to extend the set of library packages available within Haskell for Mac.

Command line tools

Haskell for Mac includes a library version of the Glasgow Haskell Compiler, but to abide by the rules of the Mac App Store, it cannot directly make that compiler available in the form of the set of command line tools provided by other Haskell distributions. Hence, Version 1.1 provides access to a separate OS X installer package that installs the missing components.

Those components integrate with the internals of Haskell for Mac and provide the familiar Haskell command line tools, such as ghc, ghci, and cabal. This turns Haskell for Mac into a comprehensive Haskell solution for OS X: it provides the traditional Unix-style tools alongside the innovative graphical Mac app.

The current release focuses on support for dynamic linking. Library packages for statically linked Haskell executables and for profiling are left to future versions for the moment.

Extra packages

As Haskell for Mac and its command line tools share the same library package database, additional packages installed by the cabal install command line tool are available to Haskell for Mac and can be used in playgrounds. Packages are sourced from a single version of LTS Haskell to facilitate a seamless installation process. Local package can of course be used, too, as long as package dependencies can be resolved via LTS Haskell.

And there is more...

In addition to the three flagship features of Version 1.1, there are many smaller improvements and extensions. For a comprehensive list, have a look at the release notes.