Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the current state of the art in Haskell web frameworks [closed]

I am looking for insight into the the current state of the art in Haskell web frameworks.

What I would consider to be necessary for a good framework:

  • web application interface for connecting to http servers (like Rack)
  • chainable middleware (again, like Rack or node.js Connect)
  • idiomatic Haskell
  • solid performance
  • reasonable docs or at least readable open-source code

The framework does not necessarily need to be a full MVC stack, an elegant DSL for routing and handling requests (think Sinatra) would be more than sufficient.

Some of the options I have found:

  • Snap
  • Yesod
  • Miku
  • Bird
  • Happstack

I like the depth of experience in the Haskell world to really make an informed decision, so any help would be appreciated.

like image 695
Toby Hede Avatar asked Dec 04 '11 07:12

Toby Hede


People also ask

Is Haskell good for web development?

With Haskell's type-system, you're very confident in making major changes at any point in the project lifecycle. So Haskell is a great fit for the kind of fast-changing web applications we're building.

Does anyone use Haskell in production?

Microsoft uses Haskell for its production serialization system, Bond. Bond is broadly used at Microsoft in high scale services. Microsoft Research has, separately, been a key sponsor of Haskell development since the late 1990s. MITRE uses Haskell for, amongst other things, the analysis of cryptographic protocols.

Can you make a website with Haskell?

Thanks to code generators and it's great documentation you can build real web applications with very basic knowledge of haskell. You will pick up more advanced Haskell along the way! Notable features: HSX, a JSX-like template language that looks like HTML while providing type safety.

Is Haskell slow?

Some claim that it is slower than Python; others claim that it can be as fast as or faster than C. The programming language benchmark game suggests that Haskell is roughly as fast as Java and C#, but this is complicated by the extensive use of foreign libraries in those languages.


1 Answers

My impressions

Snap

  • 144 Watchers
  • 31 Forks
  • active development community
  • early stages of development
  • great documentation
  • "snaplets" feel like servlets, seem quite heavyweight

Yesod

  • 147 Watchers
  • 27 Forks
  • seems to be largely a single committer
  • great documentation
  • seems complicated and monolithic (includes among others forms, templates, and an orm)

Miku

  • 8 Watchers
  • 1 Forks
  • seems to be largely a single committer
  • lightweight - inspired by Sinatra
  • minimal documentation

Bird

  • inactive project
  • wonderful dsl (my pick as most "sinatra-like")
  • minimal documentation

Happstack

  • ?
like image 106
Toby Hede Avatar answered Oct 05 '22 23:10

Toby Hede