class Hamster::LazyList
def initialize(&block)
def initialize(&block) @head = block # doubles as storage for block while yet unrealized @tail = nil @atomic = Concurrent::AtomicReference.new(0) # haven't yet run block @size = nil end
def initialize(&block) @head = block # doubles as storage for block while yet unrealized @tail = nil @atomic = Concurrent::AtomicReference.new(0) # haven't yet run block @size = nil end