Author Archives: simonmar

New GHC blog

We have created a new GHC blog at http://hackage.haskell.org/trac/ghc/blog. The new blog is part of our Trac and therefore should have lower overhead for posting, so hopefully we’ll use it more. I’ll leave this blog up though, it is probably … Continue reading

Posted in Uncategorized | Leave a comment

Parallel programming in Haskell with explicit futures

Recently we released a new version of the parallel package on Hackage, version 3.1.0.0. This synchronises the API to that described in our Haskell Symposium 2010 paper, “Seq no More: Better Strategies for Parallel Haskell“. If you don’t know what … Continue reading

Posted in Uncategorized | 4 Comments

Yielding more improvements in parallel performance

GHC’s parallel GC makes heavy use of hand-written spinlocks. These are basically mutexes like those provided by the Unix pthreads API or equivalently Windows CrticicalSections, except that they have no support for blocking the thread and waking up, they just … Continue reading

Posted in Uncategorized | Comments Off on Yielding more improvements in parallel performance

Parallelism /= Concurrency

If you want to make programs go faster on parallel hardware, then you need some kind of concurrency.  Right? In this article I’d like to explain why the above statement is false, and why we should be very clear about … Continue reading

Posted in Uncategorized | 32 Comments

Heads up: what you need to know about Unicode I/O in GHC 6.12.1

The GHC 6.12.1 release candidate will be out shortly, and it includes a newly rewritten I/O library including Unicode support.  Here’s what you need to know to make sure your applications/libraries continue to work with GHC 6.12.1. We expect the … Continue reading

Posted in Uncategorized | 6 Comments

GHC Status Update (from the Haskell Implementors Workshop)

The video of Simon Peyton Jones’ GHC Status Update presentation at the Haskell Implementors Workshop is now online.  Lots of details about the goodies that will shortly be arriving in GHC 6.12.1.

Posted in Uncategorized | Leave a comment

Visualising the Haskell package dependency graph

This is a graph showing the dependencies between the packages that come with GHC.  I just added some (trivial) support to the ghc-pkg tool to generate the output in dot format, and generated the above graph with ghc-pkg dot | … Continue reading

Posted in Uncategorized | 6 Comments

New paper: Parallel Performance Tuning for Haskell

Here’s our Haskell Symposium paper about parallel profiling with GHC and ThreadScope: Parallel Performance Tuning for Haskell (Don Jones Jr., Simon Marlow, Satnam Singh) Haskell ’09: Proceedings of the second ACM SIGPLAN symposium on Haskell, Edinburgh, Scotland, ACM, 2009 Abstract: … Continue reading

Posted in Uncategorized | Leave a comment

The new GHC build system is here!

The new GHC build system has been now been merged in.  GHC developers can look forward to increases in productivity and faster build times thanks to the new non-recursive make design. Here are some quick stats: Lines of build-system code … Continue reading

Posted in Uncategorized | Leave a comment

New paper: Runtime Support for Multicore Haskell

Here’s a paper on the internals of GHC’s parallelism support, showing some nice improvements in parallel performance over GHC 6.10.1: “Runtime Support for Multicore Haskell“.   Abstract: Purely functional programs should run well on parallel hardware because of the absence of … Continue reading

Posted in Uncategorized | 18 Comments