

Haskell in the Newsroom [video] - carterschonwald
http://www.infoq.com/presentations/haskell-newsroom-nyt

======
rwosync
I think this really gets to the core strength of Haskell, which for me has
always been having code that we can rapidly prototype but migrate into
production and have living in the codebase for a long time. I've written code
in good deal of languages and haven't found a language with the power/weight
ratio that Haskell has.

The slight cost I have found though is that a lot of the tools he mentioned
have a rather steep learning curve ( monads, parsec, repa, conduits, lens )
especially for those coming from an imperative background. But learning any of
them is an investment in your programming skills that pays off ten-fold down
the road.

~~~
thirsteh
Completely agree. 9 times out 10, something compiles and works as expected,
and can stay working in production for years. I don't know of any other
language where I can do this and keep developing (and prototyping) the
codebase.

(This is not to say that testing isn't necessary--in fact Haskell offers an
amazing framework for fuzz testing, QuickCheck--but 100% code coverage unit
tests is a pointless endeavor in Haskell.)

I will say that "rapid prototyping" of _new_ applications is a bit tedious in
Haskell (mainly because of the cabal etc. bootstrapping work you have to do),
but prototyping new features in existing ones is smooth.

~~~
gregory144
Why do you say that unit testing is pointless in Haskell?

Edit: My bad - I missed the 100% part.

~~~
freyrs3
He said that aiming for 100% code-coverage tests in Haskell is pointless, not
that unit-testing itself is pointless. Which I think is a pretty reasonable
given that a lot of bugs cannot exist _by construction_ in a lot of Haskell
code.

Personally I very much enjoy unit-testing in Haskell especially with the new
tasty library which makes combining all the Unit/QuickCheck/SmallCheck tests
very pleasant.

[1]
[http://hackage.haskell.org/package/tasty](http://hackage.haskell.org/package/tasty)

~~~
thirsteh
Indeed. I'm not a fan of 100% code coverage tests in any language, but it's
especially apparent in Haskell where, as you said, if code compiles (and you
keep most of your functions pure), there are whole classes of bugs that simply
cannot exist.

------
cgag
Love the bit about conduits, lenses and data abstraction, really excellent
stuff. The intro may not be interesting for people already into haskell but he
makes a solid case for it if you're not sold.

------
Goopplesoft
A bit off topic but that crowd was awfully dry. This guy had a pretty good
sense of humor and made his keynote quite entertaining but not even a chuckle
from the audience.

~~~
revertts
Often that's just because the mic isn't setup to capture audience noise - I've
been to a few lectures where the audience was very engaged/entertained, but
from the recording you'd think they were all sitting there in complete
silence.

~~~
Goopplesoft
ah that makes sense. Was a bit annoyed because it seemed like every attempt he
made to warm the audience up failed.

------
Kototama
Great talk. The cameramen zoomed on the guy just when the slides with some
code are shown! Anyway the slides can be found here:

[http://codemesh.io/slides/erik-hinton.pdf](http://codemesh.io/slides/erik-
hinton.pdf)

