Haskell in Production


nb: use right and left to navigate

Why don't startups use Haskell?

Startmate class - 2 PHP, and the rest Ruby we can tell ourselves we're just misunderstood geniuses: that and 3.50 will get you a coffee.

Why do startups use Ruby?

[[1]].each {|x| puts "before:#{x.inspect}"; x.each{|x| puts "inside: #{x.inspect}" }; puts "after:#{x.inspect}" }

Why doesn't this matter?

Why doesn't this matter?

Relentless iteration

If you have to rewrite from the ground up after proving it, great! High quality problem. Pity it's not often done...
interlude
just in case you're tired of me bagging Haskell solidly

The Good (aka preaching to the choir)

The Bad (aka fixable problems)

tasks: database migrations. how to stand up an http server Keter? testing Library support: in ruby, massive, polished support for doing webby stuff. packaged apis for twitter, facebook etc. Ecosystem: heroku, peepcode, newrelic etc

The Ugly (aka uncomfortable truths)

What Cabal is missing

cabal-dev, virthualenv, cabal-meta, cabal-src: all scar tissue monoculture - can't use jhc etc

What deployment is missing

alternative: maintaining VM just for building, tests etc experience of writing code is great, deploying is hellish

Reasons for hope

many tests in ruby libs could be checked by a type system instead

Questions?