Class: Object

Inherits:
BasicObject
Defined in:
lib/raskell/object.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.emptyObject



3
4
5
# File 'lib/raskell/object.rb', line 3

def self.empty
  self.class.new
end

Instance Method Details

#apply(fn) ⇒ Object



19
20
21
# File 'lib/raskell/object.rb', line 19

def apply(fn)
  fn.(self)
end

#call(*args) ⇒ Object



15
16
17
# File 'lib/raskell/object.rb', line 15

def call(*args)
  self
end

#deep_cloneObject



23
24
25
# File 'lib/raskell/object.rb', line 23

def deep_clone
  self.respond_to?(:clone) && !self.kind_of?(Numeric) && !self.kind_of?(TrueClass) && !self.kind_of?(FalseClass) && !self.kind_of?(NilClass) ? self.clone : self
end

#fmap(fn) ⇒ Object



7
8
9
# File 'lib/raskell/object.rb', line 7

def fmap(fn)
  fn.(self)
end

#liftObject



11
12
13
# File 'lib/raskell/object.rb', line 11

def lift
  ->() { self }
end