module Kleisli
Public Class Methods
run(runner_impl = Runner, &block)
click to toggle source
# File lib/kleisli/run.rb, line 5 def self.run(runner_impl = Runner, &block) r = runner_impl.new(block.binding) begin res = r.instance_eval(&block) r.start.fmap { res } rescue MonadTerminator => ex ex.m end end