Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Nice synopsis of Haskell as a language, but it doesn't touch on why they chose it for server side web application programming, specifically. I'd be interested in knowing if it's capable, scalable and stable enough to provide a platform to build on for the next few years. Based on its history to date, are there protections in place for backwards compatibility, or are they likely to end up pinning to an obsolete version? Does the standard library support web services (SSL, unicode, etc.), or will they need to turn to third parties or code essential building blocks from scratch?


One thing worth noting here is that the article dates from 2009; things have improved a lot since then vis a vis web development in Haskell. New frameworks (Snap, Yesod) have sprung up, and the library and toolchain support have improved immeasurably.

To answer some of your questions a little more directly (I hope someone like dons with a more encyclopaedic knowledge can pitch in here):

* As a language, Haskell is both very stable and very cutting-edge. This is because GHC (the only Haskell compiler people use seriously for production, at least as far as I'm aware) supports both the Haskell '98 standard, and the more recent Haskell 2010 standard—but it also supports a large number of language extensions [1] such as type families, existential types, GADTs etc. So

* In terms of scalability, some of the recent benchmarks for Haskell-based web servers have been very impressive. Whether or not this translates into real-world performance is something we'll see as more people start using them in production. Recent improvements to the GHC I/O manager make the case for Haskell more compelling in this regard than it used to be.

* It's pretty easy in Haskell to write wrappers around C libraries, such as OpenSSL. There are also moves to implement more of these core parts of any web stack in pure Haskell, although getting them to feature-completion is a process that will take time.

A couple of recent reads spring to mind: a Stack Overflow discussion [1] where Alex Payne asked about Haskell tools to make programs production-ready, and Johan Tibell's article [2] on which Haskell libraries one should use.

[1] http://www.haskell.org/ghc/docs/7.0.3/html/users_guide/ghc-l...

[2] http://stackoverflow.com/questions/5808825/what-are-the-best...

[3] http://blog.johantibell.com/2011/04/haskell-libraries-you-sh...


Specifically, with respect to openssl and unicode

* The language standard specifies Unicode strings

* The Haskell Platform library standard adds support for Unicode IO based on packed text buffers

* OpenSSL is provided via the venerable hopenssl library

And there are many happy web users, such as Janrain, Galois, typLab, Bump, Deutsche Bank and others.

The ecosystem is in a pretty nice place now.




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

Search: