Method: Funkr::Categories::Applicative::ClassMethods#full_lift_proc

Defined in:
lib/funkr/categories/applicative.rb

#full_lift_proc(&block) ⇒ Object

Curryfy the lambda block over N parameter, lifting it to a lambda over N functors



23
24
25
26
27
28
29
# File 'lib/funkr/categories/applicative.rb', line 23

def full_lift_proc(&block)
  lambda do |*args|
    args.inject(curry_lift_proc(&block)) do |a,e|
      a.apply(e)
    end
  end
end