Author Archives: archhaskell

Snap: A Really Fast Haskell Web Framework

The new Snap web framework for Haskell is now packaged for Arch Linux.

You can install it automagically with, e.g.:

$ sudo bauerbill
            --trusted-users arch-haskell
            --build-as $USER
            --noconfirm
            --aur
            -S haskell-snap-server

And dive into the quick start:

$ cd /tmp
$ mkdir site
$ cd site
$ snap init
$ cabal install
$ site 8000

Then visit http://localhost:8000/ to serve up your new web project.

Arch Linux Updates to GHC 6.12

We’ve (mostly) completed the major upgrade of Haskell packages on Arch Linux to use GHC 6.12. The summary:

  • We updated to GHC 6.12
  • Most things are working.
  • You can’t use “yaourt” any more — it is broken on Haskell dependencies.

There are several consequences of this upgrade for Arch Haskell users, so read on for the full stories.

Changes to GHC

Firstly, GHC has been improved in many ways:

  • Parallel execution performance is better (for your multicore Haskell apps)
  • Dynamic linking of Haskell libraries is supported (see this tutorial).
  • Package management is far more robust and scalable (you’ll see improvements in install times if you use many packages).
  • And of course, many tweaks and new features in the language and base libraries.

To upgrade we recommend you completely clean your existing Haskell Arch packages, via:

sudo pacman -c –remove ghc

to do a recursive removal of all packages, then install ghc in a clean state:

sudo pacman -S ghc

Changes to Extra / Community Packages

With the GHC 6.12 update, GHC no longer distributes a number of libraries that it used to, including:

All these packages are now in the (Extra) repository, and make up the bulk of the support for the Haskell platform in (Extra). You can find them with pacman.

Major Applications: xmonad, darcs, …

The major applications have all been updated, and you should have no trouble upgrading to the versions in (Extra) and (Community).

For example, xmonad:

  1. upgrade ghc with pacman
  2. install xmonad and xmonad-contrib with pacman

and you’ll be good to go.

“Provides” packages: Do not use Yaourt!

A consequence of moving these packages out of the ghc package is that almost all Haskell packages had missing dependencies. Previously, if a Haskell package had used say, transactional memory, it only had to depend on “ghc” in its specification. That is no longer the case, and to solve this problem of dependencies moving around once and for all we have enacted the following policy for Haskell packages:

We have updated all packages in AUR to list explicit dependencies. So now you will see things like this, for the latest haddock.

  • Dependencies: haskell-array haskell-cabal haskell-containers haskell-directory …

So even the libraries distributed with GHC are explicitly listed. This has major consequences for which package builder tool you use!

To build Haskell libraries and programs, the package tool must support the “provides” field. yaourt does NOT support “provides. You need to use a different package tool

We’ve put together a list of preferred package tools here, and I (dons) have switched to bauerbill, which is fast, and has full support for more complicated package specifications. You use it exactly as for yaourt, but without the bugs:

     sudo bauerbill --no-color --aur -S haskell-csv

The Haskell packaging tool for Arch, cabal2arch, has been fully updated to support the new “provides” policy, and in turn has been used to update all 1500+ Haskell packages in AUR.

If you have any dependency resolution problems, make sure you are not using yaourt.

Version changes

We’re moving towards full support of the next Haskell Platform release in binary form from (Extra). To get there we decided to upgrade to QuickCheck 2. This means that some packages that haven’t yet migrated to QuickCheck 2 will be temporarily unavailable from AUR (including HDBC).

gkt2hs and wxHaskell are also not yet supporting GHC 6.12. They upstream maintainers are aware, and these packages will be updated once upstream is ready.

AUR Packages

AUR now carries 1500+ Haskell packages, and all have been updated to the new provides syntax. You can track the last known build/version status of these packages here.

Get in touch!

You can join in the community for Haskell users on Arch, via:

Haskell wiki stack in Arch

The unified Haskell network, web and wiki stack is now in AUR:

  • happs-server, the standalone web appliance kit
  • haskell-salvia, the other standalone web appliance kit for Haskell
  • filestore, the unified darcs/git file versioning API
  • orchid, the Haskell wiki library
  • gitit, the mediawiki-alike standalone wiki system using markdown

and related libs. So you should be able to run either wiki system (gitit or orchid) out of the box now. gitit makes a good case for an automatic dependency resolver, too…

The new unified filestore API project was announced earlier today.

Arch Haskell News: Jan 24 2009

A regular update of Haskell in Arch Linux

Arch now has 864 Haskell packages in AUR.

That’s an increase of 37 new packages in the last 13 days, or 2.8 new Haskell apps and libraries a day so far in January. Well done everyone!.

The current 28 day moving average of releases:

Noteworthy updates

New and updated packages

The Arch Haskell Team maintains the Haskell toolchain on Arch Linux. You can join us in #arch-haskell on freenode.org, or on the mailing list.

HDBC’s new MySQL backend

The new mysql backend to the venerable HDBC Haskell database library, is now in Arch (as is HDBC). Read about HDBC in RWH.

Piet implementation for Arch

The initial release of piet, an implementation of the Piet programming language is now available as a package in AUR. The piet binary also ships with Language.Piet, an API to the interpreter.

An example session with the interpreter:

$ piet hello.png
Hello world!

Where the input file is the helloworld.piet program:

Here’s some Piet programs:

Piet is implemented in Haskell.

Open Source Haskell Releases and Growth

Hackage, Haskell’s central library achive site, went live 2 years ago during the 2007 Haskell Hackathon in Oxford.

Here we are two years later, on the verge of 1000 open source Haskell applications, libraries and tools (993 at the time of writing), all swinging around cabal and cabal-install.

Is the Haskell community getting any better at the production of code? To work this out, I made a 28 day sliding average of the daily releases to Hackage, and there’s a clear upwards trend. More people are releasing more Haskell than ever before:

Sliding average of Haskell releases

The two spikes correspond to the yearly GHC major releases, where a whole suite of libraries get updated.

We can break Hackage down by category too, to see what areas Haskell is being used in:

Half of all libraries (just over 500) are devoted to data structures, text handling and parsing, system interactions, control structures and abstractions, graphics, and development tools. Nothing terribly category-theoretic there :-)

Following closely are network, web, math, sound and database programming. (Breakdown of the top 30 categories).

The release of new code also mirrors the growth in community participation. Here, the growth in the Haskell IRC channel over the last 7 years:

It seems we’re seeing an obvious correlation between community input (new programmers) and output (project releases).

Join in: the lambdas are hot!

GHC 6.10 for Arch Linux

Vesa Kaihlavirta has moved GHC 6.10 from [testing] into [extra], so Arch now ships with GHC 6.10 out of the box. Also out of the box comes:

So you can immediately get into full haskell development mode.

The AUR package suite has been updated to play well with 6.10, and the most used AUR packages will continue to move into the binary packaging of the [community] repository.

The AUR packages have an advantage over cabal-install of having C libraries resolved to native packages, and they’ve been checked to build on Arch.

Happy hacking!

Arch Haskell News: Jan 11 2009

A regular update of Haskell in Arch Linux.

Welcome to the first Arch Haskell News of 2009.

Arch now has 827 Haskell packages in AUR.

That’s an increase of 93 new packages in the last 48 days, or 1.9 new Haskell apps and libraries a day over the holiday season. Well done everyone!.

Noteworthy

New and updated packages

The Arch Haskell Team maintains the Haskell toolchain on Arch Linux. You can join us in #arch-haskell on freenode.org, or on the mailing list.http://www.haskell.org/mailman/listinfo/arch-haskell

LLVM Haskell bindings

Bryan O’Sullivan and Lennart Augustsson’s high level LLVM bindings for Haskell are now packaged up nicely, making it super easy to drive LLVM from Haskell on Arch.

To read more about these bindings, check out the authors’ blog posts: