Module: Kleisli::Monoid

Defined in:
lib/kleisli/monoid.rb

Instance Method Summary collapse

Instance Method Details

#fold(others) ⇒ Object



3
4
5
# File 'lib/kleisli/monoid.rb', line 3

def fold(others)
  others.reduce(self) { |acc, x| acc.mappend x }
end

#mappend(other) ⇒ Object

Raises:

  • (NotImplementedError)


11
12
13
# File 'lib/kleisli/monoid.rb', line 11

def mappend(other)
  raise NotImplementedError, "this monoid doesn't implement mappend"
end

#memptyObject

Raises:

  • (NotImplementedError)


7
8
9
# File 'lib/kleisli/monoid.rb', line 7

def mempty
  raise NotImplementedError, "this monoid doesn't implement mpemty"
end