Sha256: 322c371c13bdbb73a600d820ee8554abbaae27390cc89a129eed72660425ea02
Contents?: true
Size: 517 Bytes
Versions: 1
Compression:
Stored size: 517 Bytes
Contents
module Rupture class List < Seq class << self alias create new end private_class_method :create attr_reader :seq, :size def self.empty @empty ||= create(nil, 0) end def initialize(seq, size) @seq = seq.seq @size = size end def self.new(*args) list = self.empty args.reverse_each do |x| list = list.conj(x) end list end def conj(x) self.class.send(:create, Cons.new(x, @seq), @size.inc) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rupture-0.1.0 | lib/rupture/list.rb |