

Haskell in the Real World - patrickxb
http://vimeo.com/24676617

======
poelie
We use Haskell intensively. It is a very useful and easy language. Once you
mastered Haskell (and get used to the type system), it feels very natural. It
is both usable for scripting and "real" tasks.

The trick with Haskell is to model the data you are going to use. Haskell has
a good mathematical ground and if you model it right, you can leverage a lot
of mathematical tools.

We use it on a web project in combination with PostgreSQL. These two match
pretty nicely. Both have strong type systems. We wrote an JsonRPC server in
haskell, which acts as a secure proxy between the database and the client.

We also use it for system scripting. We wrote a special embedded DSL based on
arrows for critical tasks. And we use it for the analysis of data. This is
mostly a pipeline ala: Parsing -> Interpreting -> Analyzing -> Storing, where
every phase has his own data type. It is great for writing parsers.

It has the speed of a compiled language and the ease of a scripting language.
It doesn't match c or c++ of course in speed. But you can get very close and
in almost all cases close enough.

The main negative aspect is that it is difficult to reason about your code in
terms of performance. And laziness can also do wonderful unexpected things.
And bugs in the compiler.

