// Generated by purs version 0.13.6 "use strict"; var $foreign = require("./foreign.js"); var Control_Applicative = require("../Control.Applicative/index.js"); var Control_Apply = require("../Control.Apply/index.js"); var Control_Bind = require("../Control.Bind/index.js"); var Control_Monad = require("../Control.Monad/index.js"); var Data_Functor = require("../Data.Functor/index.js"); var functorST = new Data_Functor.Functor($foreign.map_); var monadST = new Control_Monad.Monad(function ($dollar__unused) { return applicativeST; }, function ($dollar__unused) { return bindST; }); var bindST = new Control_Bind.Bind(function ($dollar__unused) { return applyST; }, $foreign.bind_); var applyST = new Control_Apply.Apply(function ($dollar__unused) { return functorST; }, Control_Monad.ap(monadST)); var applicativeST = new Control_Applicative.Applicative(function ($dollar__unused) { return applyST; }, $foreign.pure_); module.exports = { functorST: functorST, applyST: applyST, applicativeST: applicativeST, bindST: bindST, monadST: monadST, map_: $foreign.map_, pure_: $foreign.pure_, bind_: $foreign.bind_, run: $foreign.run, "for": $foreign["for"], "new": $foreign["new"], read: $foreign.read, write: $foreign.write };