November 12th, 2008 by Don Stewart
Don will be giving a talk SC’08
in Austin, Texas next week, as part of the Bridging Multicore’s Programmability Gap
workshop, talking about programming mainstream multicore systems with Haskell, now. Here’s the abstract,
Haskell is a general purpose, purely functional programming language. If you want to program a parallel machine, a purely functional language such as Haskell is a good choice: purity ensures the language is by-default safe for parallel execution, (whilst traditional imperative languages are by-default unsafe).
This foundation has enabled Haskell to become something of a melting pot for high level approaches to concurrent and parallel programming, all available with an industrial strength compiler and language toolchain, available now for mainstream multicore programming.
In this talk I will introduce the features Haskell provides for writing high level parallel and concurrent programs. In particular we’ll focus on lightweight semi-explicit parallelism using annotations to express parallelism opportunities. We’ll then describe mechanisms for explicitly parallel programs focusing on software transactional memory (STM) for shared memory communication. Finally, we’ll look at how Haskell’s nested data parallelism allows programmers to use rich data types in data parallel programs which are automatically transformed into flat data parallel versions for efficient execution on multi-core processors.
See Simon Peyton-Jones and Satnam Singh’s recent tutorial
for more background on multicore Haskell, on which this talk is based.
See you in Texas!
November 6th, 2008 by Bryan O'Sullivan
We’re about a month from publication now! We just finished reviewing the index, and our second and final QC pass is due back to O’Reilly by Friday morning.
It has been tremendously exciting to see a few early reviews for the book come in:
“The hardest problems in modern software lie in performance, modularity, reliability, and concurrency. With Real World Haskell, the authors do a great job of teaching how to tackle each of these problems with Haskell, a language that is generations ahead of today’s mainstream.”
— Tim Sweeney, founder of Epic Games, and designer of the Unreal game engine
“In the last five years Haskell has burst out of the laboratory, and is now increasingly used by professional developers to get Real Work done. This book is the first to cover the full spectrum of techniques that a Real World programmer needs: not only types and list manipulation, but input/output, parsing, databases, GUIs, networking, foreign-function interface, error handling, profiling, testing. The focus is intensely practical, the pages are packed with executable code samples, and the pace is rapid. Best of all, this book will expand your mind. It will give you a new way of thinking about the whole enterprise of programming: when you have worked through these pages, you’ll write better code in your current favourite language. But take care: Haskell is addictive.”
— Simon Peyton Jones, Microsoft Research, Haskell language architect and designer of the Glasgow Haskell Compiler
“This book is exactly what’s needed—a deep and comprehensive guide, covering everything from fundamentals to a wealth of advanced topics, aimed at experienced programmers who want to harness Haskell’s power to get the job done. I will be using it in my Advanced Programming classes from now on.”
— Benjamin Pierce, Professor, Department of Computer and Information Science, University of Pennsylvania, author of Types and Programming Languages
We’ll be keeping comments like these up to date on this page. Don’t forget that you can preorder printed and PDF copies of the book from the main book site.
October 15th, 2008 by Bryan O'Sullivan
Yesterday, we received the QC1 copy of the manuscript from O’Reilly’s production team. This is a 650-page PDF file that contains the almost-final text of the book, with hundreds of copyediting changes applied. Our job for the next ten days is to pore over this and find any problems.
Some time after October 27 (when QC1 comments are due back to O’Reilly), there will be a QC2 pass, followed by the first print run.
We’re still looking at a release date around the end of November or beginning of December. There’s still plenty of time to preorder online and assure yourself of a copy to consume with your eggnog and Christmas pudding.
September 25th, 2008 by Bryan O'Sullivan
I’ve put up the slides
from the talk I gave at ACCU on September 10.
September 5th, 2008 by Bryan O'Sullivan
I’ll be speaking at ACCU next Wednesday, September 10. Doors open at 6:30pm, and the talk starts at 7pm. The venue is being provided by Symantec.
The topic is “Haskell for the Real World”, and I will talk about using Haskell to address some of today’s toughest programming challenges:
- Delivering high quality software that performs well.
- Scaling effectively on modern multicore systems.
- Refactoring quickly as requirements evolve.
Where to go:
Symantec VCAFE building, 350 Ellis Street (near E. Middlefield Road), Mountain View
August 30th, 2008 by Bryan O'Sullivan
The DocBook source for the book is now in the hands of O’Reilly’s production team. We sent the first batch of copyedits back a few days ago. The rest will be flowing through over the coming two weeks or so.
At this point, we’re mostly reviewing punctuation, typeface, and grammar fixes from our copyeditor, who is doing a remarkably thorough job. We have little ability to act upon any further feedback through the web comment system.
Over the next few days, I’ll update the book web site to hide all comments posted so far, and take the mention of “beta” out of the various paths and URLs (don’t worry, I’ll add forwarding links, so your existing bookmarks won’t break).
August 22nd, 2008 by Bryan O'Sullivan
I just posted the last chapter we had left to write, Profiling and optimisation. Please get your comments in by the end of Tuesday, September 2! The response to the previous two has been excellent; we appreciate your help and careful reading.
With that chapter posted, we draw over 15 months of intensive writing to a close. I am very proud of our work. It has been a pleasure to work with John and Don on the manuscript, and Mike has been a great editor. The interest and participation of our readers has made writing this book a uniquely rewarding experience, so we thank you all for your encouragement and help.
It would be a shame to let this milestone pass without some serious geekbait. As geeks, we love numbers, so here are some relating to our work so far.
- We have made exactly 1300 commits to our darcs repository.
- Our DocBook source file is 44092 lines (2042719 bytes) long.
- The current size of the proofs is 686 pages.
- Our examples tree contains 291 Haskell source files, containing 893 code examples. (Yes, we’ll be releasing the whole lot.)
- We have 166 source files of interactions with GHC’s command line interpreter, containing 598 examples.
- We automatically build and run all of our examples, so what you see on the screen (soon to be the page) is code that really works.
How has our system of open, incremental development worked out? In my estimation, it has been a fantastic success, far overwhelming my expectations.
- We have received 7153 comments so far.
- That’s an average of 1.73 comments per paragraph.
- The usual number of technical reviewers for a technical book is 2.
- 748 people have commented so far on our drafts.
Feedback from our readers has had a profound effect on the development of the book. We have received comments from people who have been using Haskell for almost 20 years, from casual hackers, and from people who are just picking up the language for the first time. We have used your input to make our coverage both more correct and more accessible. Thank you all for the generosity you have shown with your time and attention!
Finally, I have a few notes about our production schedule.
We expect to receive the first batch of copyedited proofs early next week. We’ll be turning each batch around in a matter of days. We surprised both ourselves and O’Reilly’s production team by turning in such a huge manuscript. (I think they’d been expecting around 300 pages.) This will increase the duration of the copyedit by a few weeks, so our current estimate of the publication date is around the beginning of November.
Update: Due to a clerical error on my part, a number of comments for chapters 12 and 29 performed a switcheroo. We’ll still make it through them, don’t worry.
August 20th, 2008 by Bryan O'Sullivan
On September 27, I will be giving a half-day Haskell tutorial entitled “Real World Haskell” at DEFUN, the new developer track at the ICFP conference. This year’s ICFP and DEFUN will be held in Victoria, Canada.
DEFUN will also host two other Haskell tutorials that we’re very excited about.
DEFUN promises to be a great addition to ICFP. It will offer an excellent way to learn about the practicalities of functional programming, alongside the existing Commercial Users of FP track. We hope to see you there!
August 20th, 2008 by Bryan O'Sullivan
Oh, wow. We just got the first PDF proofs in, using O’Reilly’s house style. There’s no index yet, and we still have a chapter to add, but we’re already at 536 pages. The final number will thus be somewhat north of this: maybe 550 pages, instead of the 450 we thought as recently as a day or two ago.
Update: Don noticed that several chapters were missing from the PDF. I’ve fixed this, and now we have 666 pages in the current PDF. As a result, the final count looks like it will be near 700 pages. That pretty well blows my mind.
August 18th, 2008 by Bryan O'Sullivan
I just updated the beta site with two new chapters:
We need your help! Please read these chapters as soon as you can, and use the comment system to give us feedback by this Friday, August 22. We will be sending the two chapters to O’Reilly’s production team on Monday. The last incomplete chapter will be online by the end of this week.
This latest refresh of the beta site includes updates to almost every chapter, to reflect the suggestions and comments that so many of you have made. Thanks for your help!
We have added some convenient links to make it easier to preorder the book online. If those links are not convenient for purchasing in your country, just ask for ISBN 978-0596514983 at your favourite bookstore.
Finally, we have received the first rough estimate of a page count from O’Reilly’s production team. They expect the book to be around 450 pages in length. We will follow up with a more accurate estimate, and a better idea of a final release date (currently the end of October), once we get that information.