Sha256: a417526bf72c7ccc57bf632ba4ac7aa0c47e60036d17cc79bf52309d5dd2476b

Contents?: true

Size: 645 Bytes

Versions: 5

Compression:

Stored size: 645 Bytes

Contents

# -*- encoding : utf-8 -*-
require "lambda_driver/version"
Dir["#{File.dirname(__FILE__)}/lambda_driver/*.rb"].sort.each do |path|
  next if File.basename(path, '.rb') == 'core_ext'
  require "lambda_driver/#{File.basename(path, '.rb')}"
end
require "lambda_driver/core_ext"

module LambdaDriver

  # SKI combinators
  I = lambda{|x| x }
  K = lambda{|x| lambda{|y| y }}
  S = lambda{|x| lambda{|y| lambda{|z| x.to_proc.call(z).call(y.to_proc.call(z)) } } }

  # Boolean combinators
  AND = lambda{|l| lambda{|r| l && r }}
  OR  = lambda{|l| lambda{|r| l || r }}

  class << self
    def i ; I end
    def k ; K end
    def s ; S end
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lambda_driver-1.3.0 lib/lambda_driver.rb
lambda_driver-1.2.4 lib/lambda_driver.rb
lambda_driver-1.2.3 lib/lambda_driver.rb
lambda_driver-1.2.2 lib/lambda_driver.rb
lambda_driver-1.2.1 lib/lambda_driver.rb