Sha256: 9af9c9816ed850c153023b2f527d6ff769f4a4010885986343d1ff809edff59f

Contents?: true

Size: 735 Bytes

Versions: 4

Compression:

Stored size: 735 Bytes

Contents

# frozen_string_literal: true

require_relative '../core/term'

module MiniKraken
  # This module packages the composite term classes.
  # These hold one or more MiniKanren objects.
  module Composite
    # An composite term is an Minikraken term that can be
    # decomposed into simpler MiniKraken data value(s).
    class CompositeTerm < Core::Term
      # Abstract method (to override). Return the child terms.
      # @return [Array<Term>]
      def children
        raise NotImplementedError, 'This method must re-defined in subclass(es).'
      end

=begin
      # @param env [Environment]
      # @return [Boolean]
      def fresh?(env)
        env.fresh_value?(self)
      end
=end
    end # class
  end # module
end # module

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mini_kraken-0.3.03 lib/mini_kraken/composite/composite_term.rb
mini_kraken-0.3.02 lib/mini_kraken/composite/composite_term.rb
mini_kraken-0.3.01 lib/mini_kraken/composite/composite_term.rb
mini_kraken-0.3.00 lib/mini_kraken/composite/composite_term.rb