<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

<generator>Well-Typed Blog Generator</generator>
<icon>http://www.well-typed.com/blog/favicon.ico</icon>
<id>http://blog.well-typed.com/feed/atom/</id>
<link href="http://www.well-typed.com/blog/atom.xml" rel="self" type="application/atom+xml" />
<link href="http://www.well-typed.com/blog/" rel="alternate" type="application/xhtml+xml" />
<logo>http://www.well-typed.com/img/logo_125_20.png</logo>
<title type="text">Well-Typed Blog</title>
<subtitle type="text">Because Well-Typed Programs Don't Go Wrong</subtitle>
<updated>2010-09-06T13:34:35Z</updated>
<entry>
    <title type="text">Well-Typed Hires Two Additional Consultants</title>
    <published>2010-09-06T13:34:35Z</published>
    <updated>2010-09-06T13:34:35Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/45" />
    <summary type="text"><![CDATA[We are please to announce that, following our recent hiring process, we have taken on two additional consultants in order to meet our upcoming commitments. Andres Lh Andres started using Haskell in 1997. Since then, he has used Haskell for most of his programming projects. He has participated in the [...]]]></summary>
    <author><name>ian</name></author>
    <category term="well-typed" />
    <id>http://www.well-typed.com/blog/45</id>
    <content type="html"><![CDATA[<p
>We are please to announce that, following our recent
<a href="http://www.well-typed.com/blog//blog/43"
  >hiring process</a
  >, we have taken on two additional consultants
in order to meet our upcoming commitments.</p
><h2
> Andres L&ouml;h</h2
><p
>Andres started using Haskell in 1997. Since then, he has used Haskell
for most of his programming projects. He has participated in the ICFP
programming contest multiple times, and won it in a team together with
Duncan Coutts, Ian Lynagh and Ganesh Sittampalam in 2004, with an
all-Haskell entry.</p
><p
>Andres is a well-known member of the Haskell community. He maintains
several tools and libraries on Hackage. He has also packaged Haskell
compilers and libraries for the Gentoo and NixOS Linux distributions.</p
><p
>Andres obtained a PhD in Computer Science from Utrecht University in
2004. Since 2004, he has worked as a lecturer and researcher at the
Institute of Cybernetics in Tallin, and at the universities of Freiburg,
Bonn, and Utrecht. Andres' research is focused on improving abstraction
and reuse in functional programs, by using or enhancing the underlying
type system. His interests also include embedded domain specific
languages, version control and typesetting.</p
><p
>Andres was the program chair of the 2006 ACM SIGPLAN Workshop on
Haskell. He has served as a program committee member for several other
academic conferences and has published regularly at conferences and
journals. He also has extensive experience in teaching Haskell to
undergraduate and graduate students, as well as people with an
industrial background.</p
><p
>Andres will begin working for Well-Typed in November.</p
><h2
> Dmitry Astapov</h2
><p
>Dmitry has ten years of experience using Haskell for solving practical
problems. He has used Haskell as a day-to-day scripting language, for
large and small projects, at full-time jobs and in consulting projects.
He has created several hackage packages and contributed to various
Haskell projects including darcs, xmonad, bytestring, happs, HaXml and
lambdabot. He has written several tutorials, written content for the
Haskell wiki, and is currently editor of a Russian-language magazine on
functional programming for which he writes articles on a regular basis.
He has supported Haskell newcomers and mentored students as part of the
Google Summer of Code programme.</p
><p
>He holds a bachelors degree in applied math and a specialists degree in
computer science from the Taras Shevchenko National University of Kiev,
Ukraine.</p
><p
>Dmitry has already started working for Well-Typed.</p
>]]></content>
</entry>
<entry>
    <title type="text">Visiting Utrecht and IFL</title>
    <published>2010-09-03T23:57:43Z</published>
    <updated>2010-09-03T23:57:43Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/44" />
    <summary type="text"><![CDATA[I've been in Utrecht all week. As per usual I've spent most my time talking about Haskell and plotting world domination with friends and colleagues. Andres Löh invited Don Stewart and me to give guest talks on the last day of the Utrecht summer school on applied functional programming. The idea was to [...]]]></summary>
    <author><name>duncan</name></author>
    <category term="community" />
    <id>http://www.well-typed.com/blog/44</id>
    <content type="html"><![CDATA[<p
>I've been in Utrecht all week. As per usual I've spent most my time
talking about Haskell and plotting world domination with friends and
colleagues.</p
><p
>Andres L&#246;h invited Don Stewart and me to give guest talks on the last
day of the
<a href="http://www.utrechtsummerschool.nl/index.php?type=courses&amp;code=H9"
  >Utrecht summer school on applied functional programming</a
  >.
The idea was to give the summer school participants some perspective
from people who make a living working with Haskell. Don talked about
how Galois have been using Haskell for the last 10 years; what
features, tools and techniques they have found to be important. I gave
a semi-technical talk entitled &quot;Monoids monoids everywhere!&quot; about
functional design patterns. The point was that identifying, capturing
and abstracting over patterns is useful in real programs. I used
monoids as the running example partly because they're nice and simple
but also because it's somewhat surprising how far you can go with such
a simple concept.</p
><p
>Several people have asked for the slides from the talk and I've
promised to post them soon. In the live talk I drew some diagrams on
the whiteboard and I'd like to add the diagrams to the slides so that
the slides will make some sense on their own.</p
><p
>Over the weekend we had a mini-hackathon. Ian caught the ferry over and
Johan Tibell flew in to join us. Johan and Don worked on optimising the
Data.Map implementation. I spent much of my time reviewing Cabal
patches. In particular I spent quite a while reviewing a big pile of
patches from Thomas Tuegel which implement the new &quot;cabal test&quot; feature
that he's been working for his GSoC project. He'll be presenting it at
the <a href="http://haskell.org/haskellwiki/HaskellImplementorsWorkshop/2010"
  >Haskell Implementors' Workshop</a
  > next month.</p
><p
>The latter half of the week Don, Andres and I have been at IFL. There's
been lots of interesting talks on a fairly wide range of FP topics.
There's been plenty of talks on parallelism and concurrency. I've been
slightly surprised by the number of talks on low-level, hardware and
embedded topics.</p
><p
>Don and I had several interesting chats with Kevin Hammond and his
colleagues from the University of St Andrews about their continuing
work on parallel and distributed Haskell. I think I've finally sorted
out the confusion in my mind about the relationship between &quot;GpH&quot;,
&quot;GdH&quot;, &quot;GUM&quot; and &quot;Eden&quot;. For reference:</p
><ul
><li
  >GpH  (Glasgow parallel Haskell): A language specification; this is
ordinary Haskell plus the 'par' and 'pseq' primitives. GHC is an
implementation of GpH for shared memory systems.</li
  ><li
  >GUM: an implementation of GpH for distributed memory systems. That
is, you can write ordinary parallel Haskell programs using 'par',
'pseq' and strategies and then run it on a cluster.</li
  ><li
  >GdH (Glasgow distributed Haskell): A language plus an implementation;
roughly speaking it takes parallel + concurrent Haskell (ie par,
pseq, forkIO) and adds extra support for things like explicit placing
of threads on nodes and node-private resources. Like the distributed
implementation of GpH, it uses a global graph.</li
  ><li
  >Eden: another language plus implementation. It is like parallel
Haskell but with an explicit notion of processes. Processes send values
to each other but they do not share any global graph.</li
  ></ul
><p
>Oh and I finally gave in and signed Well-Typed up to <a href="http://twitter.com/welltyped"
  >twitter</a
  >.
</p
>]]></content>
</entry>
<entry>
    <title type="text">On Hiring Haskell People</title>
    <published>2010-08-24T16:53:42Z</published>
    <updated>2010-08-24T16:53:42Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/43" />
    <summary type="text"><![CDATA[A couple of months ago we announced that Well-Typed were hiring Haskell people. This is a brief report on how we went about the process of hiring and what we found. The purpose is partly to give some feedback to the many people who applied and hopefully also to provide information to other people who [...]]]></summary>
    <author><name>duncan</name></author>
    <category term="well-typed" />
    <id>http://www.well-typed.com/blog/43</id>
    <content type="html"><![CDATA[<p
>A couple of months ago we <a href="http://www.well-typed.com/blog//blog/40"
  >announced</a
  > that Well-Typed were
hiring Haskell people. This is a brief report on how we went about the
process of hiring and what we found. The purpose is partly to give some
feedback to the many people who applied and hopefully also to provide
information to other people who may be looking to hire Haskell experts
in future.</p
><p
>The background to our decision to hire was simply that we have found we
have more work to do than we have time available and that we expected
this to continue. So while last year we had two people help us for short
term projects, we decided that it makes the most sense to expand the
size of our permanent team. Both people who worked with us last year had
moved on to other exciting Haskell jobs.</p
><h3
> Applications</h3
><p
>We posted the job notice on our company blog (which is syndicated to
Planet Haskell) and also to the
<a href="http://haskell.org/mailman/listinfo/haskell"
  >haskell</a
  > and
<a href="http://haskell.org/mailman/listinfo/haskell-cafe"
  >haskell-cafe</a
  > mailing
lists. We probably should have also posted it on the
<a href="http://cufp.org/jobs"
  >CUFP jobs page</a
  >.</p
><p
>We were pleased to get a total of 42 applications, of which 19 merited
serious consideration, and we eventually settled on a shortlist of 7 to
interview. We also received a couple expressions of interest from people
looking for part-time work.</p
><p
>Advertising openly was certainly the right decision, though it does
entail a fair amount of work. We received applications from well-known
members of the community plus many excellent applications from people we
did not know or who we were only peripherally aware of. In the end, we
made two offers to people we would not have asked directly: one person
we did not previously know and another person we do know but who we
would not have thought to ask.</p
><p
>The main features of our job posting were that it was not geographically
limited, the work is, we think, interesting but the rate of pay we were
able to guarantee was not especially high. All of these affected the
kind of applications we received. We are in the lucky position that we
do not need to sit in the same physical office as our co-workers, which
gives us access to a big international pool of talent. The people who
applied were quite dispersed geographically, covering 21 countries.
There were 18 people from the EU, 8 from the US and 16 from elsewhere
including several from Australia, Russia and Ukraine.</p
><p
><img src="http://www.well-typed.com/blog/aux/images/hiring.png" width="501" height="253" alt="World map highlighting the countries we got applications from" title="Global spread of applications"
   /></p
><p
>We know that we cannot compete with large companies in terms of pay,
but on the other hand we are able to offer a great deal of flexibility
and work that involves using Haskell and interacting with the Haskell
community. Many people wrote about their love of Haskell and functional
programming and how they would like to make more use of it
professionally.</p
><h3
> Decision process</h3
><p
>When it came to the decision making process, a key issue was that we had
decided that we would need two people rather than one. Hiring two people
gave us the opportunity to increase the range of skills in our team by
picking people with different skills and background experience. We
decided that we should aim to select one person with a mainly academic
background and one person with more business and consulting experience.</p
><p
>Ian and I both read all the cover letters and r&#233;sum&#233;s. We didn't want
to influence each others initial assessments so we read everything
independently and compared notes at the end. There was a wide variety in
style of r&#233;sum&#233;s, from 1 page bullet lists of education and
experience, through to 9 pages including descriptive paragraphs. I don't
think one style is a particular advantage over another; those with short
r&#233;sum&#233;s tended to come with longer more descriptive cover letters. A
few r&#233;sum&#233;s made it quite difficult to guess how much Haskell
experience the applicant really has.</p
><p
>We decided to make an initial &quot;longlist&quot; by restricting our attention
to people with three or more years of Haskell experience. That combined
with a little more discussion and comparing notes between Ian and
myself gave us a longlist of 19 people. This was quite a spectacularly
talented group of people, everyone with some mixture of Haskell
programming and other commercial experience. It included 5 people with
10 or more years professional programming experience, 7 people with
masters degrees, 3 people with PhDs and 7 people who have used Haskell
in a commercial context.</p
><p
>The next step of picking an interview shortlist was of course very
difficult. Our aim was to interview only a handful of people. We reread
and discussed letters and r&#233;sum&#233;s.</p
><p
>It became obvious that we had a clear first choice on the academic
side. In a sense we had a shortlist of one. We were thus in the
slightly odd position of not shortlisting several people with excellent
academic qualifications, but relatively little commercial experience.</p
><p
>On the commercial side, the deciding factor was (our perception of) the
combination of Haskell programming skill and business experience, the
latter especially in a client-facing role. Of course you cannot really
assess programming skill on paper, but before the interview stage one
has to go by what people say about themselves and their achievements.</p
><p
>We eventually picked an interview shortlist of six people on the
commercial side, plus the one person on the academic side. We sent out
notifications to everyone who had applied. Five of the six people had
experience of either running their own company or otherwise acting in a
client consulting role.</p
><h3
> Interviews</h3
><p
>For the interviews we decided to use IRC rather than phone or Skype. Ian
devised a technical problem to use in the interviews. We had candidates
log in to our server so that they could view, edit and run code during
the interview. We used a shared console session so we could all see. We
scheduled two hours for each interview and ended up using more or less
the full time. The technical part ended up taking around 40-60 minutes
and we spent the rest of each interview chatting about past experience
and future plans.</p
><p
>The purpose of the technical problem was to assess more directly
candidates ability to write Haskell programs that can be used to solve
real world problems, where memory usage and performance are important.
The problem was all about evaluation order and memory behaviour. We
started by asking candidates to look at a short program and say what
shape they would expect the heap profile to be. That would then lead on
to a discussion of what things are evaluated at what stage and how much
memory they are taking in the meantime. For the final step we asked
candidates to rewrite the program to run in constant space. We felt
overall that the technical problem was quite useful and we allowed it to
become a significant factor in our final decision making process.</p
><p
>The choice of problem is based on our belief that a good understanding
of evaluation order is very important for writing practical Haskell
programs. People learning Haskell often have the idea that evaluation
order is not important because it does not affect the calculated result.
It is no coincidence that beginners end up floundering around with space
leaks that they do not understand.</p
><p
>We had about a week of interviews following which we made two offers.
With our shortlist of one on the academic side, the outcome was a
foregone conclusion. On the commercial side we based our decision both
on our prior reading of r&#233;sum&#233;s etc and also on how things went in the
interview. Again, the key factor was the combination of Haskell
programming skill and consulting experience.</p
><h3
> Reflection</h3
><p
>I think all in all, given that we have never run a hiring process
before, that we did OK. We could however have done better with keeping
candidates informed about the process and expected timeline. The period
for applications was perhaps unnecessarily long. I would welcome any
feedback from people who found the process painful.</p
><p
>Ian and I would again like to thank everyone who applied. We appreciate
the thought and effort people put in and that so many people are
interested in working with us.</p
><hr />
<p
><small>World map originally by John Harvey and others, <a href="http://en.wikipedia.org/wiki/File:BlankMap-World6-Equirectangular.svg"
  >CC-BY-SA</a
  >.</small></p
>]]></content>
</entry>
<entry>
    <title type="text">Haskell Platform download stats</title>
    <published>2010-08-07T22:25:04Z</published>
    <updated>2010-08-07T22:25:04Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/42" />
    <summary type="text"><![CDATA[It's been just over two weeks since the Haskell Platform 2010.2.0.0 was released. The Windows and Mac installers were hosted on our new server, destined to replace haskell.org. As the server isn't yet doing anything else, this gives us some clear data for the traffic associated with the release. Shortly [...]]]></summary>
    <author><name>ian</name></author>
    <category term="community" />
    <id>http://www.well-typed.com/blog/42</id>
    <content type="html"><![CDATA[<p
>It's been just over two weeks since the Haskell Platform 2010.2.0.0 was
released.  The Windows and Mac installers were hosted on our new server,
destined to replace haskell.org. As the server isn't yet doing anything
else, this gives us some clear data for the traffic associated with the
release.</p
><p
>Shortly after the release, the daily bandwidth graph peaked just short
of 3MB/s:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/hpStats/lambda-bandwidth-day.png" width="500" height="135" alt="" title=""
   /></p
><p
>Over 24 hours the rate dropped steadily, and then levelled off at
200-300kB/s:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/hpStats/lambda-bandwidth-week.png" width="500" height="135" alt="" title=""
   /></p
><p
>and it isn't showing any signs of falling off yet:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/hpStats/lambda-bandwidth-month.png" width="500" height="135" alt="" title=""
   /></p
><p
>So far, there have been <strong
  >9613</strong
  > downloads of the Windows installer, from
3947 unique IPs, and <strong
  >1068</strong
  > downloads of the Mac installer, from 959
unique IPs.</p
><p
>You can see how this compares to the previous series of releases
<a href="http://donsbot.wordpress.com/2009/07/26/haskell-platform-progress-report/"
  >here</a
  >.</p
>]]></content>
</entry>
<entry>
    <title type="text">Community Server Stats</title>
    <published>2010-06-17T15:34:44Z</published>
    <updated>2010-06-17T15:34:44Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/41" />
    <summary type="text"><![CDATA[It's been just over 3 years since the Haskell community server was started, and since then 372 projects have been created. While work goes on behind the scenes to move community to a more powerful server, with a recently enlarged sysadmin team running it, here are some stats for what it's being used [...]]]></summary>
    <author><name>ian</name></author>
    <category term="community" />
    <id>http://www.well-typed.com/blog/41</id>
    <content type="html"><![CDATA[<p
>It's been just over 3 years since the Haskell
<a href="http://community.haskell.org/"
  >community server</a
  > was started, and since
then 372 projects have been created. While work goes on behind the
scenes to move community to a more powerful server, with a recently
enlarged sysadmin team running it, here are some stats for what it's
being used for.</p
><p
>Almost all projects use community for hosting source code, but many also
use it for a trac bug tracker, a web page, and a mailing list:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/comStats/uses.png" width="640" height="480" alt="" title=""
   /></p
><p
>Working out what licence projects use, without a lot of manual effort,
is tricky, but hopefully this is a good approximation:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/comStats/license-numbers.png" width="640" height="480" alt="" title=""
   /></p
><p
>This data is based on licence files, and licence fields in Cabal files,
within project's <code
  >/srv/code</code
  > directories. The total is more than 100%
as soem projects contain files under multiple licences, and it is likely
that there are further licences that have been missed. In particular,
licences for document such as RFCs and academic papers will likely have
been missed.</p
><p
>Unsurprisingly, BSD3 is the most common license, with GPL and LGPL
next. The &quot;Haskell&quot; licence is the
<a href="http://www.haskell.org/onlinereport/"
  >licence used for the Haskell98 report</a
  >.</p
><p
>Interestingly, the picture is a little different if we look at the
number of bytes under each licence:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/comStats/license-disk-usage.png" width="640" height="480" alt="" title=""
   /></p
><p
>The &quot;Haskell&quot; licence is much higher now, as it includes any project
containing a GHC tree (which is large). GHC trees also get marked as
using the GPL (due to a Cabal file in Cabal's testsuite, although some
of the Windows tarballs contain GPLed programs anyway) and there are
also some large projects using the GPL; the combination puts GPL ahead
of BSD3.</p
><p
>Looking at the number of users per project, most have a single
developer, and the number tails of as one would expect:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/comStats/user-numbers.png" width="640" height="480" alt="" title=""
   /></p
><p
>Most projects have seen activity (defined as &quot;a file in the
<code
  >/srv/code</code
  > directory has been modified) within the last 6 months, and
more than two thirds within the last year. Inevitably, there are some
that appear dormant:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/comStats/activity.png" width="550" height="427" alt="" title=""
   /></p
><p
>Finally, here's a breakdown of the disk usage on community:</p
><p
><img src="http://www.well-typed.com/blog/aux/images/comStats/disk-usage.png" width="566" height="423" alt="" title=""
   /></p
><p
>Interestingly, home directories account for more disk usage than
projects. This ls largely due bindists, builds and darcs
checkouts of large projects - mostly GHC. There's now a more recent GHC
in <code
  >/srv/local/ghc/ghc-6.12.2/bin</code
  >, but when community moves to its
new home we'll try to keep an up-to-date GHC in the default path.</p
>]]></content>
</entry>
<entry>
    <title type="text">Well-Typed are hiring</title>
    <published>2010-05-07T22:34:50Z</published>
    <updated>2010-05-07T22:34:50Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/40" />
    <summary type="text"><![CDATA[We are looking to hire a Haskell expert to work with us at Well-Typed as a Haskell consultant. We are seeing an increasing demand for our services, and are thus seeking to expand our capacity. This is an exciting opportunity for someone who is passionate about Haskell and who is keen to improve and promote [...]]]></summary>
    <author><name>duncan</name></author>
    <category term="well-typed" />
    <id>http://blog.well-typed.com/?p=86</id>
    <content type="html"><![CDATA[<p
>We are looking to hire a Haskell expert to work with us at <a href="http://www.well-typed.com/"
  >Well-Typed</a
  > as a Haskell consultant. We are seeing an increasing demand for our services, and are thus seeking to expand our capacity.</p
><p
>This is an exciting opportunity for someone who is passionate about Haskell and who is keen to improve and promote Haskell in a professional context.</p
><p
>The role is quite general and could cover any of the projects and activities that we are involved in as a company. The tasks may involve:</p
><ul
><li
  >working on the Haskell compilers, libraries and tools;</li
  ><li
  >Haskell application development;</li
  ><li
  >working directly with clients to solve their problems.</li
  ></ul
><p
>Well-Typed has a variety of clients. For some we do proprietary Haskell development and consulting. For others, much of the work involves open-source development and cooperating with the rest of the Haskell community: the commercial, open-source and academic users.</p
><p
>The position is initially as a contractor for one year with a salary from 150 GBP per day, plus a profit-dependent bonus. We offer flexible hours and work from home. Living in England is not required.</p
><p
>In the longer term there is the opportunity to become a member of the partnership with a full stake in the business: being involved in business decisions, and fully sharing the risks and rewards.</p
><p
>If you are interested, please apply via <a href="mailto:info@well-typed.com"
  >info@well-typed.com</a
  >. Send us your CV, and tell us why you are interested and why you would be a good fit for the job. We are more than happy to answer informal enquiries. Contact <a href="http://www.well-typed.com/who_we_are"
  >Duncan Coutts or Ian Lynagh</a
  > for further information, either by email or IRC.</p
><p
>The deadline for applications is Friday 11 June 2010.</p
>]]></content>
</entry>
<entry>
    <title type="text">Well-Typed delivers air traffic analysis tool for NATS</title>
    <published>2010-05-05T11:04:35Z</published>
    <updated>2010-05-05T11:04:35Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/39" />
    <summary type="text"><![CDATA[Well-Typed have successfully delivered an application in Haskell to meet NATS requirements in order to analyse air traffic in UK airspace. Since the beginning of the year UK airline operators have been using the software to fine-tune aspects of their future schedules. Sid Mohangee, project manager at [...]]]></summary>
    <author><name>duncan</name></author>
    <category term="well-typed" />
    <id>http://blog.well-typed.com/?p=85</id>
    <content type="html"><![CDATA[<p
>Well-Typed have successfully delivered an application in Haskell to meet NATS requirements in order to analyse air traffic in UK airspace. Since the beginning of the year UK airline operators have been using the software to fine-tune aspects of their future schedules.</p
><p
>Sid Mohangee, project manager at NATS, said:</p
><blockquote
><p
  >&quot;At the beginning of the project I set our suppliers a challenging schedule. Well-Typed's use of Haskell and a small expert team worked out well. They worked closely with me and my team and together we were able to adjust quickly to changing customer requirements. We delivered the project on schedule.&quot;</p
  ></blockquote
><p
>The use of Haskell allowed the software to be developed rapidly, while at the same time giving confidence in its correctness. Well-Typed used the standard suite of Haskell techniques, libraries and tools, including testing with QuickCheck and code coverage with HPC.</p
><p
>In light of the success in this project, NATS is considering further use of Haskell as part of its technology strategy.</p
><h2
> About Well-Typed</h2
><p
>Well-Typed LLP is a Haskell services company, providing Haskell consultancy services and writing bespoke Haskell applications.</p
><p
><a href="http://www.well-typed.com/"
  >http://www.well-typed.com/</a
  ></p
><h2
> About NATS</h2
><p
>NATS is the UK's leading air traffic services provider. It provides air traffic control to all en-route aircraft in UK airspace, and to aircraft at 15 of the UK's biggest airports.</p
><p
><a href="http://www.nats.co.uk/"
  >http://www.nats.co.uk/</a
  ></p
>]]></content>
</entry>
<entry>
    <title type="text">Parallel Haskell: 2-year project to push real world use</title>
    <published>2010-04-29T14:41:09Z</published>
    <updated>2010-04-29T14:41:09Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/38" />
    <summary type="text"><![CDATA[GHC HQ and Well-Typed are very pleased to announce a 2-year project funded by Microsoft Research to push the real-world adoption and practical development of parallel Haskell with GHC. We are seeking organisations to take part: read on for details. In the last few years GHC has gained impressive support [...]]]></summary>
    <author><name>duncan</name></author>
    <category term="well-typed" />
    <id>http://blog.well-typed.com/?p=84</id>
    <content type="html"><![CDATA[<p
>GHC HQ and Well-Typed are very pleased to announce a 2-year project funded by Microsoft Research to push the real-world adoption and practical development of <strong
  >parallel Haskell</strong
  > with GHC. <strong
  >We are seeking organisations to take part</strong
  >: read on for details.</p
><p
>In the last few years GHC has gained impressive support for parallel programming on commodity multi-core systems. In addition to traditional threads and shared variables, it supports pure parallelism, software transactional memory (STM), and data parallelism. With much of this research and development complete, and more on the way, the next stage is to get the technology into more widespread use.</p
><p
>This project aims to do the engineering work to solve whatever remaining practical problems are blocking organisations from making serious use of parallelism with GHC.  The driving force will be the <em
  >applications</em
  > rather than the <em
  >technology</em
  >.</p
><p
>We will work in partnership with a small number of commercial or scientific users who are keen to make use of parallel Haskell. We will work with these partners to identify the issues, major or minor, that are hindering progress. The project is prepared to handle system issues, covering everything from compiler and runtime system through to more mundane platform and tool problems.  Meanwhile our partners will contribute their domain-specific expertise to use parallel Haskell to address their application.</p
><p
>We are now seeking organisations to take part in this project. Organisations do not need to contribute financially but should be prepared to make a significant commitment of their own time.  We expect to get final confirmation of the project funding in June and to start work shortly thereafter.</p
><p
>Well-Typed will coordinate the project, working directly with both the participating organisations and the Simons at GHC HQ. If you think your organisation may be interested then get in touch with me, Duncan Coutts, via <a href="mailto:info@well-typed.com"
  >info@well-typed.com</a
  >.</p
>]]></content>
</entry>
<entry>
    <title type="text"><![CDATA[To the Hackathon!]]></title>
    <published>2010-03-17T14:15:09Z</published>
    <updated>2010-03-17T14:15:09Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/37" />
    <summary type="text"><![CDATA[I'm off tomorrow morning to the Haskell Hackathon in Zurich. I'm looking forward to seeing people. I don't have particular plans yet for what I will be working on, though undoubtedly it'll be related to the Cabal/Hackage/Platform projects. Of course the point of a hackathon is to get people together [...]]]></summary>
    <author><name>duncan</name></author>
    <category term="community" />
    <id>http://blog.well-typed.com/?p=83</id>
    <content type="html"><![CDATA[<p
>I'm off tomorrow morning to the <a href="http://www.haskell.org/haskellwiki/ZuriHac"
  >Haskell Hackathon in Zurich</a
  >. I'm looking forward to seeing people.</p
><p
>I don't have particular plans yet for what I will be working on, though undoubtedly it'll be related to the Cabal/Hackage/Platform projects. Of course the point of a hackathon is to get people together to share ideas and enthusiasm, so it's usually best not to have too fixed ideas about how to spend one's time.</p
><p
>By the way, in case anyone has been wondering why I've been so quiet since the beginning of the year; I've been in hiding (i.e. mostly offline) doing the final push on my DPhil thesis. It's getting pretty close now; I sent my long-suffering supervisor a 180-page draft the other day. I'm really looking forward now to getting it over with and moving on to new commercial and academic projects.</p
>]]></content>
</entry>
<entry>
    <title type="text">Talk at the Functional Programming eXchange</title>
    <published>2009-12-09T19:18:18Z</published>
    <updated>2009-12-09T19:18:18Z</updated>
    <link rel="alternate" type="application/atom+xml" href="http://www.well-typed.com/blog/36" />
    <summary type="text"><![CDATA[I gave a talk a couple days ago at the Functional Programming eXchange event organised by Skills Matter in London. Strong Types and Pure Functions Slides Video It was an interesting event. We had about 50 people attend, mostly professional programmers with day jobs doing development on the JVM and .NET [...]]]></summary>
    <author><name>duncan</name></author>
    <category term="community" />
    <id>http://blog.well-typed.com/?p=81</id>
    <content type="html"><![CDATA[<p
>I gave a talk a couple days ago at the <a href="http://skillsmatter.com/event/design-architecture/functional-programming-exchange-2009/wd-378"
  >Functional Programming eXchange</a
  > event organised by Skills Matter in London.</p
><p
><strong
  >Strong Types and Pure Functions</strong
  ></p
><p
><a href="http://www.well-typed.com/blog/aux/files/strong-types-pure-functions.pdf"
  >Slides</a
  >
<a href="http://skillsmatter.com/podcast/design-architecture/strong-types-and-pure-functions"
  >Video</a
  ></p
><p
>It was an interesting event. We had about 50 people attend, mostly professional programmers with day jobs doing development on the JVM and .NET platforms. <a href="http://sadekdrobi.com/"
  >Sadek Drobi</a
  > gave the opening talk about computational abstraction, by which he meant monadic glue code. He explained why we want it and showed examples in C#, Scala and F#. I hadn't realised that the C# LINQ stuff is actually general monad syntax. It was fun to see Sadek telling all these professional programmers that what they really want are functors, applicative functors and monads.</p
><p
>I gave a talk in the afternoon about some of the things you can do if you go all the way with FP and use a purely functional language (rather than a hybrid). I explained a technique for making interfaces where you use types to enforce which side effects are allowed. Of course this means making custom monads so it was good that Sadek had introduced that topic in the morning. The feedback I got was that this was one of the more technically advanced talks, but I think that was ok since it wasn't essential to understand every last detail to get the point.</p
><p
>Overall I think it went quite well, especially given it was the first time the event has been put on. I expect that other members of the Haskell community might like to take part in future (Ganesh Sittampalam and Matthew Sackman also spoke this time). Also, Skills Matter are planning to do an FP journal/magazine aimed at mainstream professional programmers. Hopefully that'll be another good way to get our message out. Get in touch with me or <a href="http://strangelights.com/blog/"
  >Robert Pickering</a
  > if you're interested in either the conference or the journal.</p
>]]></content>
</entry>
</feed>
