Build Status NPM version Dependencies Status experimental

Monadic wrapper over Express web framework.


var Future  = require('data.future')
var Express = require('')(require('express'))

var routes = [
  Express.get('/:name', function(req) {
    return new Future(function(reject, resolve) {
      resolve(Express.send('Hello, ' +

var app = Express.create(routes)

Express.listen(8080, app).fork(
  function (error){ throw error }
, function (addr) { console.log('Running on http://localhost:' + addr.port) }

Or with Sweet.js macros:

var Express = require('')(require('express'));

var routes = $routes(Express) {
  get('/:name'): {params:{ name }} => $do {
    html <- Future.of('Hello, ' + name)
    return Express.send(html)

Check out the examples/ folder for more examples.


The easiest way is to grab it from NPM. If you're running in a Browser environment, you can use [Browserify][]

$ npm install


Check out the [Wiki][wiki] for detailed information about the library. There's also plenty of [Examples][examples] in the examples/ folder.

You can [read the API documentation online][docs] or build it yourself:

$ git clone git://
$ cd
$ npm install
$ make documentation

Then open the file docs/index.html in your browser.


This library requires express@4.x and node@0.10+.


Copyright (c) 2014 Quildreen Motta.

Released under the MIT licence.

[Fantasy Land]: [Browserify]: [Git]: [Make]: [Node.js]: [es5-shim]: [docs]: [wiki]: [examples]: [release]: