Monads/Writer monad: Difference between revisions

Content added Content deleted
Line 1,015: Line 1,015:


def bind(mwriter)
def bind(mwriter)
proc = mwriter.value
new_value = mwriter.value.call(@value)
log = mwriter.log
new_log = @log + "\n" + mwriter.log
new_value = proc.call(@value)
new_log = @log + "\n" + log
self.class.new(new_value, new_log)
self.class.new(new_value, new_log)
end
end