Hacker News new | past | comments | ask | show | jobs | submit login

I used haskell in different startups and is was most of the times a good choice. I have written a dozen of (embedded) domain specific languages to support rapid development. This is quite easy in haskell. Parsec helps with writing parsers for your DSL.

What I saw, was that the amount of tests could be reduced, when using haskell. The type of testing is also somewhat different. You don't have to test for type errors. QuickCheck let you test mathematical properties (in an empiric way).

The FFI compensates for the missing libraries, but is a bit difficult to use.

But the biggest reason of using haskell for me, was the way it handles concurrency and the high abstraction level. This enables you to write distributed applications in a more convenient way than usual. If you working in a web start up, you hit somewhere a point, where you need to think about this stuff.

Besides Yesod, Snap is also a interesting choice, because of it's simplicity.

I enjoy using this language. I would choose it anytime. It made me a better programmer.




> But the biggest reason of using haskell for me, was the way it handles concurrency and the high abstraction level.

Anyone care to point to something online that spells these out in (simple) details for someone who knows next to nothing about Haskell?


Simon Peyton Jones had a talk with a very nice overview of concurrency in Haskell. He is a very good presenter as well :).

http://www.youtube.com/watch?v=hlyQjK1qjw8


There are a lot of concurrency related libraries implementing all kind of abstractions. Distributed computation is upcoming. There is an overview here: http://www.haskell.org/haskellwiki/Applications_and_librarie...


one big kick, since haskell is pure functional you don't have state (okay, in terms that imperative programmer use that term) and all data are immutable.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: