RobertDober/lab42_data_class

View on GitHub
lib/lab42/data_class/kernel.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

require_relative '../nil'
module Kernel
  Nil = Lab42::Nil

  def DataClass(*args, **kwds, &blk)
    proxy = Lab42::DataClass::Proxy.new(*args, **kwds, &blk)
    proxy.define_class!
  end

  def List(*elements)
    Lab42::List.new(*elements)
  end

  def Pair(first, second)
    Lab42::Pair.new(first, second)
  end

  def Triple(first, second, third)
    Lab42::Triple.new(first, second, third)
  end
end
#  SPDX-License-Identifier: Apache-2.0