--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: 
- !ruby/object:RI::MethodSummary 
  name: new
comment: 
- !ruby/struct:SM::Flow::P 
  body: By definition a Functor is simply a first class method, but these are common in the form of Method and Proc. So for Ruby a Functor is a more specialized as a Higher-order function or Metafunction. Essentally, a Functor can vary its behavior accorrding to the operation applied to it.
- !ruby/struct:SM::Flow::VERB 
  body: "  f = Functor.new { |op, x| x.send(op, x) }\n  f + 1  #=&gt; 2\n  f + 2  #=&gt; 4\n  f + 3  #=&gt; 6\n  f * 1  #=&gt; 1\n  f * 2  #=&gt; 4\n  f * 3  #=&gt; 9\n"
constants: []

full_name: Functor
includes: []

instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: method_missing
- !ruby/object:RI::MethodSummary 
  name: to_proc
name: Functor
superclass: Object
