UNPKG

ambjs

Version:

amb(iguous) operator in javascript

25 lines 795 B
var expr$691 = require('./expression'), trampoline$692 = require('./trampoline'); // ## async // This is a utility handler used to suspend the // amb monad execution and restart it later, invoking // the `resume` function. // ### Example // ambBlock { // var t = async (function (resume) { // setTimeout(function () { // resume ('resumed'); // }, 1000); // }); // /* here t value is 'resumed' */ // }.run(); var async$693 = function (call$694) { return expr$691(function (succ$695, fail$696) { return trampoline$692(function () { call$694(function (value$697) { succ$695(value$697, fail$696).run(); }); return 'suspended'; }); }); }; module.exports = async$693;