GaloisInc/FiveUI — pull request #22 by hallettj (2013-12-14 01:08:55+00:00)
Title: Modifies fiveui.RuleSet.load to return promises

When I work on a codebase I tend to have an urge to refactor callback-based code to use promises instead. Promises are values that represent continuations, and they happen to be monads. In general a function that takes a callback function (or a success and an error function) as an argument can be changed to return a promise instead. Functions that return promises are more easily composed than functions that accept callbacks. In my opinion promise-based code also tends to be more declarative.

There are numerous writeups on promises available. I published one that emphasizes treating promises as monads: http://sitr.us/2012/07/31/promise-pipelines-in-javascript.html