class Proc

Public Class Methods

compose(f, g) click to toggle source
# File lib/functions/prelude_lambda/ext.rb, line 13
def self.compose(f, g)
  ->(*args) { g[f[*args]] }
end

Public Instance Methods

+(g) click to toggle source

Composition of Procs (functions): (f+g)(x) = f(g(x))

# File lib/functions/prelude_lambda/ext.rb, line 17
def +(g)
  # Prelude::Compose.(self,g)
  ->(*x) { self.(g.(*x)) }
end
<(g) click to toggle source

Composition of Procs (functions): (f<g)(x) = f(g(x))

# File lib/functions/prelude_lambda/ext.rb, line 22
def <(g)
  # Prelude::Compose.(self,g)
  ->(*x) { self.(g.(*x)) }
end
>(g) click to toggle source

Composition of Procs (functions): (f>g)(x) = g(f(x))

# File lib/functions/prelude_lambda/ext.rb, line 27
def >(g)
  # Prelude::After.(self,g)
  ->(*x) { g.(self.(*x)) }
end
partial(a) click to toggle source

Partial evaluation of a Proc (function)

# File lib/functions/prelude_lambda/ext.rb, line 32
def partial(a)
  self.curry.(a)
end