Opened 7 years ago

Last modified 4 years ago

#1607 new proposed-project

Haskell for the "real-time web"

Reported by: Greg Weber Owned by:
Priority: OK Keywords:
Cc: m@…, michael@… Difficulty: unknown
Mentor: not-accepted Topic: misc

Description (last modified by Greg Weber)

Note "real-time web" basically means not needing to refresh web pages, nothing to do with real-time systems.

Haskell has the best async IO implementation available. And yet, node.js is getting all the spotlight! This is in part a library issue. Node.js has several interfaces that use websockets and fall back to other technologies that are available.

I propose we create such a library for Haskell. We have already identified a language-independent design called sockjs. And there is already work under way on wai-sockjs, with good implementations of wai-eventsource and wai-websockets already available.

Such a library is a fundamental building block for interactive (real-time) web sites. There is also a use case for embedding a capable Haskell messaging server into a website ran on a slower dynamic language that has poor concurrency, like Ruby (some people embed node.js based messaging servers now). This gives Haskell a back door to getting adopted in other areas.

This should be easily achievable in a GSoC. In fact I think the biggest problem may be how to expand the scope of this to fit the summer. The Yesod web framework is now a very good server oriented web framework. A good wai-sockjs implementation could be nicely integrated with Yesod and other frameworks, but it could also be the building block for a great client-side abstraction in which a web page is automatically kept up to date in "real-time".

Michael Snoyman and myself are willing to mentor. We can probably also get those that have been involved with websockets related development to date to mentor or at least give assistance.

Change History (5)

comment:1 Changed 7 years ago by Greg Weber

Cc: m@… added
Description: modified (diff)

Jasper Van der Jeugt, a GSoC veteran, is willing to mentor on this project which would rely on his websockets library.

comment:3 in reply to:  description Changed 7 years ago by Josh Thomas

I'm very interested in being mentored on this project this summer. I've used websockets in Haskell a bit and I'd REALLY like to see Haskell be a solid solution for interactive web apps.

comment:4 Changed 7 years ago by Greg Weber

Cc: michael@… added

Glad you are interested, Lambdanaut. I think the next step is to work with us to create a more concrete proposal. My e-mail is greg at

comment:5 Changed 4 years ago by Edward Kmett

Priority: not yet ratedOK

This proposal remains fairly viable.

Note: See TracTickets for help on using tickets.