Archive for the ‘Haskell Platform’ Category

GHC 6.10.1 released!

Tuesday, November 4th, 2008

After months of work, GHC 6.10.1 is finally released!

The headlines include a parallel garbage collector, extensible exceptions, haddock 2, Data Parallel Haskell as an extralib, and much more besides.

Well-Typed is pleased to have been able to play its part in making this release happen, with Ian working with the Simons at GHC HQ and many other developers across the world to bring this release together.

Meanwhile, Duncan visitied Galois to team up with Don Stewart for some extensive pre-release testing. Their experiments with building all of the packages on Hackage give us confidence that this will be a solid release.

Thanks to everyone who played a part, be it development, testing or otherwise, in this release. We couldn’t have done it without your help!

Haskell Platform talk at the London Haskell Users Group

Tuesday, November 4th, 2008

I’m talking about the Haskell Platform at the London Haskell Users Group this Thursday.

It is an extended version of the 10-minute talk Haskell: Batteries Included that Don Stewart and I presented at the recent Haskell Symposium.

Abstract:

Some people pick a programming language because it has the best type system, the best facilities for abstraction or perhaps the fastest compiler. Most people however pick a whole programming platform that lets them solve their problem the quickest or best. A programming platform consists of a language, a compiler, and a set of standard libraries and tools. Other popular programming languages have a standard platform that puts together everything you need to get started.

This talk is about the Haskell Platform. We’ll cover what the Haskell Platform is and who it is for. We’ll also look at the technical infrastructure and the social aspects of how it will be managed.

Not all of the details are set in stone. We need to have a discussion within the Haskell community about how the platform will be managed and extended, especially since it needs buy-in from package maintainers. My hope is to use this talk to kick off that discussion.

Some ideas for the Future of Cabal

Tuesday, October 7th, 2008

I presented a “Tech Talk” today at Galois on some ideas relating to Cabal

We discussed two topics. Here’s the abstract:

A language for build systems

Build systems are easy to start but hard to get right. We’ll take the view of a language designer and look at where our current tools fall down in terms of safety/correctness and expressiveness.

We’ll then consider some very early ideas about what a build system language should look like and what properties it should have. Currently this takes the form of a design for a build DSL embedded in Haskell.

Constraint solving problems in package deployment

We are all familiar, at least peripherally, with package systems. Every Linux distribution has a notion of packages and most have high level tools to automate the installation of packages and all their dependencies. What is not immediately obvious is that the problem of resolving a consistent set of dependencies is hard, indeed it is NP-complete. It is possible to encode 3-SAT or Sudoku as a query on a specially crafted package repository.

We will look at this problem in a bit more detail and ask if the right approach might be to apply our knowledge about constraint solving rather than the current ad-hoc solvers that most real systems use. My hope is to provoke a discussion about the problem.

I’ve covered similar ground to the first topic before in a previous blog post on make. This time we looked in a bit more detail at what a solution might look like and what properties it should have. In particular we discussed what the correctness properties of a build system might look like.

Slides from the Haskell Platform talk

Friday, September 26th, 2008

I promised to post the slides from our talk on the Haskell Platform which Don and I presented at the Haskell Symposium yesterday.

Haskell: Batteries Included

Malcolm did us all a great service by videoing the talks. Unfortunately he had to catch his flight home before our talk so there is no video for that one.

Don did the talk with the slides and I did the live demo. Fortunately the demo worked. We ran the new hackage server on my laptop and we invited people to connect. I demoed uploading a new package and within a few seconds people in the audience were able to download and install it using cabal-install. That of course is old hat to the open source Haskell hackers but part of what we were trying to do is to persuade the academics to make better use of Hackage to publish libraries and tools that they develop as part of their research.

One new thing we demoed was generating build reports and uploading them back to the hackage server. In fact we had several people in the audience upload report for the new package within 30 seconds of me uploading it. The build reporting is part of the plan for testing the packages in the Haskell Platform but more generally to gather information on what packages build in what environments.