Module: Kleisli
- Defined in:
- lib/kleisli/run.rb,
lib/kleisli/run/version.rb
Defined Under Namespace
Modules: Run Classes: MonadTerminator, Runner
Class Method Summary collapse
Class Method Details
.run(runner_impl = Runner, &block) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# 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 |