module Funk

Constants

NO_INPUT_PROVIDED
VERSION

Public Class Methods

compile(fns, strategy: Funk::Evaluators::Eager, instruments: []) click to toggle source
# File lib/funk.rb, line 7
def self.compile(fns, strategy: Funk::Evaluators::Eager, instruments: [])
  graph = Graph.new(fns)
  strategy.new(graph, instruments: instruments)
end
compile_module(mod, **args) click to toggle source
# File lib/funk.rb, line 12
def self.compile_module(mod, **args)
  dummy_receiver = Object.new
  fn_hash = mod.instance_methods(false).each_with_object({}) do |meth, hash|
    m = mod.instance_method(meth)
    hash[meth] = m.bind(dummy_receiver)
  end
  compile(fn_hash, **args)
end